D’ailleurs après l’installation de MyModbus corrige le problème de la page santé parce que pyenv4Jeedom est initialisé dans le process d’installation de l’environnement pour MyModbus.
Pour les détails, tu peux consulter la doc de pyenv4Jeedom
Du coup je suis de retour au point de départ, avec l’install de mymodbus qui lance pyenv-install 3.11.8 et qui me fait rebooter le raspi
Si je lance la commande à la main c’est pareil. Peux tu me dire ou trouver les logs qui pourraient me mettre sur une piste ?
Il te reste combien de place sur ton disque ?
Quelle est la charge système ?
Est-ce que MyModbus était déjà installé (ancienne version beta avec ou sans pyenv4Jeedom) ? Et si oui, le démon tourne ?
edit: et qu’est-ce que tu obtiens en lançant pyenv install -v 3.11.8 (mode verbeux) ?
Reste 22G. Aucune charge sauf pendant l’install ou je top-up a 100% (pendant qu’il recompile le monde entier)
J’avais essayé MyModbus stable mais manquait le sleep pour huawei, desinstallé depuis pour essayer la beta, j’en suis là
Je n’ai pas testé cette commande exactement, mais nohup c’est pour no hangup afin que la commande continue de s’exécuter même si ta session ssh est déconnectée, 2>&1 c’est pour rediriger les messages d’erreur (stderr) vers la sortie standard (stdout) et l’esperluette à la fin c’est pour te donner la main et laisser la commande se lancer en tâche de fond
Je ne sais plus quoi essayer…
Il faudrait trouver un stress-test, une commande très gourmande en ressources pour voir si c’est le RPI qui a un soucis (soudure qui chauffe, … ???) pour voir si ça le fait redémarrer aussi.
0000|+ echo '*******************Begin of package installation******************'
0001|*******************Begin of package installation******************
0002|+ touch /tmp/jeedom_install_in_progress_pyenv
0003|+ echo 1
0004|+ echo 2
0005|+ sudo chmod +x /var/www/html/core/class/../../plugins/pyenv/resources/post-install.sh
0006|+ sudo /var/www/html/core/class/../../plugins/pyenv/resources/post-install.sh
0007|********************************************************
0008|* Installation de pyenv *
0009|********************************************************
0010|Fri Mar 29 22:10:13 CET 2024
0011|********************************************************
0012|* Installation terminée *
0013|********************************************************
0014|Fri Mar 29 22:10:14 CET 2024
0015|+ echo 3
0016|+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end pyenv
0017|+ echo 4
0018|+ rm /tmp/jeedom_install_in_progress_pyenv
0019|+ echo '*******************End of package installation******************'
0020|*******************End of package installation******************
0000|+ echo '*******************Begin of package installation******************'
0001|*******************Begin of package installation******************
0002|+ touch /tmp/jeedom_install_in_progress_pyenv
0003|+ echo 1
0004|+ echo 2
0005|+ sudo killall apt apt-get unattended-upgr
0006|apt: no process found
0007|apt-get: no process found
0008|+ sudo rm /var/lib/apt/lists/lock
0009|+ sudo rm /var/cache/apt/archives/lock
0010|+ sudo rm /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend
0011|+ sudo sudo dpkg --configure -a --force-confdef
0012|+ sudo apt update
0013|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0014|Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
0015|Hit:2 http://deb.debian.org/debian bullseye InRelease
0016|Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
0017|Hit:4 https://deb.nodesource.com/node_18.x nodistro InRelease
0018|Reading package lists...
0019|Building dependency tree...
0020|Reading state information...
0021|All packages are up to date.
0022|+ echo 3
0023|+ sudo apt install -o Dpkg::Options::=--force-confdef -y git
0024|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0025|Reading package lists...
0026|Building dependency tree...
0027|Reading state information...
0028|git is already the newest version (1:2.30.2-1+deb11u2).
0029|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0030|+ echo 4
0031|+ sudo apt install -o Dpkg::Options::=--force-confdef -y libbz2-dev
0032|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0033|Reading package lists...
0034|Building dependency tree...
0035|Reading state information...
0036|libbz2-dev is already the newest version (1.0.8-4).
0037|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0038|+ echo 5
0039|+ sudo apt install -o Dpkg::Options::=--force-confdef -y libreadline-dev
0040|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0041|Reading package lists...
0042|Building dependency tree...
0043|Reading state information...
0044|libreadline-dev is already the newest version (8.1-1).
0045|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0046|+ echo 6
0047|+ sudo apt install -o Dpkg::Options::=--force-confdef -y libsqlite3-dev
0048|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0049|Reading package lists...
0050|Building dependency tree...
0051|Reading state information...
0052|libsqlite3-dev is already the newest version (3.34.1-3).
0053|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0054|+ echo 7
0055|+ sudo apt install -o Dpkg::Options::=--force-confdef -y libncurses5-dev
0056|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0057|Reading package lists...
0058|Building dependency tree...
0059|Reading state information...
0060|libncurses5-dev is already the newest version (6.2+20201114-2+deb11u2).
0061|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0062|+ echo 8
0063|+ sudo apt install -o Dpkg::Options::=--force-confdef -y libncursesw5-dev
0064|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0065|Reading package lists...
0066|Building dependency tree...
0067|Reading state information...
0068|libncursesw5-dev is already the newest version (6.2+20201114-2+deb11u2).
0069|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0070|+ echo 9
0071|+ sudo apt install -o Dpkg::Options::=--force-confdef -y libffi-dev
0072|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0073|Reading package lists...
0074|Building dependency tree...
0075|Reading state information...
0076|libffi-dev is already the newest version (3.3-6).
0077|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0078|+ echo 10
0079|+ sudo apt install -o Dpkg::Options::=--force-confdef -y liblzma-dev
0080|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0081|Reading package lists...
0082|Building dependency tree...
0083|Reading state information...
0084|liblzma-dev is already the newest version (5.2.5-2.1~deb11u1).
0085|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0086|+ echo 11
0087|+ sudo chmod +x /var/www/html/core/class/../../plugins/pyenv/resources/post-install.sh
0088|+ sudo /var/www/html/core/class/../../plugins/pyenv/resources/post-install.sh
0089|********************************************************
0090|* Installation de pyenv *
0091|********************************************************
0092|Fri Mar 29 22:30:40 CET 2024
0093|********************************************************
0094|* Installation terminée *
0095|********************************************************
0096|Fri Mar 29 22:30:41 CET 2024
0097|+ echo 12
0098|+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end pyenv
0099|+ echo 13
0100|+ rm /tmp/jeedom_install_in_progress_pyenv
0101|+ echo '*******************End of package installation******************'
0102|*******************End of package installation******************
Encore une fois, une commande bloquante est une commande normale qui, compte tenu des ressources demandées, bloque l’exécution d’une autre commande bloquante. L’installation et donc la compilation d’une version de python est une commande bloquante et est une commande normale qui dure longtemps. (En écrivant ça, je me dis qu’il faudrait aussi sauvegarder la date et l’heure du lancement de la commande bloquante.)
Oui, c’est tout à fait normal : pour éviter de piétiner les configurations d’autres plugins qui utilisent pyenv sans passer par pyenv4Jeedom, pyenv n’est pas placé dans $PATH et n’est donc pas reconnu.
Pour avoir accès à pyenv de pyenv4Jeedom, il faut d’abord lancer la commande :
Mais, il faut s’assurer que pyenv n’est effectivement pas en train d’exécuter une commande avant de lancer une commande de ce type. Ce qui est applicable à un utilisateur à un moment donné, après les différents tests ne l’est pas forcément pour tous les utilisatteurs.
Donc je vois qu’une installation de pyenv4Jeedom a été forcée, bon pourquoi pas mais alors pourquoi faudrait-il que l’on lance une commande manuellement (shell_init) pour que ça fonctionne ?
J’ai rien demandé en mettant mymodbus à jour.
Donc je vais voir coté pyenv4Jeedom et j’ai une commande bloquante en cours.
Idem, je ne comprends pas ta réponse. La commande ne risque pas d’être « bloquante » du à une installation un peu longue des dépendances puisqu’elle ne risque pas de pouvoir s’exécuter étant donné que pyenv n’existe pas.
J’ai surement raté un wagon mais je pense qu’il y a un truc qui ne va pas là quand même dans le process.
Rappel avant de commencer ma réponse : nous sommes sur une version bêta avec les inconvénients qui y sont liés pour les utilisateurs. Je fais de mon mieux, promis, mais je ne suis pas parfait.
Oui, pour d’autres besoins, j’ai sorti pyenv de MyModbus et en ai fait un plugin qui est installé automatiquement avec MyModbus, comme une dépendance.
Parce que chez toi, a priori, quelque chose n’a pas fonctionné…
cf. 1ère remarque
Est-ce bien la cas ? Que retourne ps ax | grep pyenv | grep -v grep ?
A mon tour, je ne comprends pas…
Quelle commande ?
Ce sont des mots français mais je ne comprends pas…
→ puisqu’elle risque de ne pas pouvoir ??
pyenv est installé dans pyenv4Jeedom.
Chez toi pyenv est bien installé sinon tu n’aurtais pas ceci :
Par contre, une commande d’istallation de python ne s’est pas déroulée correctement… Que retourne (de mémoire, il faut peut-être adapter le chemin) :
ls -l ~www-data/html/plugins/pyenv/resources/pyenv/versions/
J’ai absolument rien contre ça mais j’ai vraiment eu l’impression d’être le roi des imbéciles avec ta première réponse. Je suis venu déclarer un soucis et j’ai plus lu quelque chose comme « t’es bête ou quoi, tu comprends rien » que « ah mince, on va regarder pourquoi ça se passe pas comme prévu ».
La commande pyenv, je disais que je ne comprenais pas le message puisque le processus pyenv ne s’exécute pas chez moi. Donc s’il ne s’exécute pas pyenv install -v 3.11.8 ne peut pas être une commande bloquante.
Du coup il existe bien l’application pyenv, mais elle ne tourne pas.
Désolé, difficile de faire passer un ton amical mais donner des explications claires quand même.
Je ne suis pas virulent et cherche à t’aider, à comprendre ce qui t’arrive et à te faire comprendre comment MyModbus et pyenv4Jeedom fonctionnent pour que tu trouves peut-être quelque chose directement.
Donc avec ce que retournent les commandes, on peut savoir que pyenv est installé, qu’aucune commande bloquante réelle ne tourne et que python n’est pas installé sous pyenv. Je ne sais pas pourquoi, pourtant, la commande a été lancée, sinon ce ne serait pas enregistré…
Pour pouvoir relancer tout ça, il va falloir supprimer un équipement de la DB, j’espère que ça ne te fait pas peur, sache que c’est relativement facile…
Réglages / Système / Configuration / Onglet OS/DB / Bouton « Administration base de données » → Ouvrir
Là, taper SELECT * FROM eqLogicWHERElogicalId = 'pyenv' dans la Commande SQL et vérifier si une seule ligne apparait bien :
DISCLAIMER
pour les gens qui lisent ce post : ne pas faire, sauf si vous êtes 100% sûr de ce que vous faites.
Et là tu peux taper
DELETE FROM `eqLogic` WHERE `logicalId` = 'pyenv'
En retournant sur la page pyenv4Jeedom, cet équipement devrait être recréé et en lançant l’installation des dépendances MyModbus, l’instalation de python devrait effectivement être lancée.
DISCLAIMER
pour les gens qui lisent ce post : ne pas faire, sauf si vous êtes 100% sûr de ce que vous faites.
+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_pyenv
+ echo 1
+ echo 2
+ sudo killall apt apt-get unattended-upgr
apt: no process found
apt-get: no process found
+ sudo rm /var/lib/apt/lists/lock
+ sudo rm /var/cache/apt/archives/lock
+ sudo rm /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend
+ sudo sudo dpkg --configure -a --force-confdef
+ sudo apt update
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Get:1 http://security.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Hit:2 http://deb.debian.org/debian bullseye InRelease
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Hit:4 https://deb.nodesource.com/node_18.x nodistro InRelease
Get:5 http://security.debian.org/debian-security bullseye-security/main Sources [170 kB]
Get:6 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [270 kB]
Fetched 532 kB in 5s (111 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
13 packages can be upgraded. Run 'apt list --upgradable' to see them.
+ echo 3
+ sudo apt install -o Dpkg::Options::=--force-confdef -y git
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
git is already the newest version (1:2.30.2-1+deb11u2).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 4
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libbz2-dev
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
libbz2-dev is already the newest version (1.0.8-4).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 5
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libreadline-dev
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
libreadline-dev is already the newest version (8.1-1).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 6
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libsqlite3-dev
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
libsqlite3-dev is already the newest version (3.34.1-3).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 7
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libncurses5-dev
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
libncurses5-dev is already the newest version (6.2+20201114-2+deb11u2).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 8
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libncursesw5-dev
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
libncursesw5-dev is already the newest version (6.2+20201114-2+deb11u2).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 9
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libffi-dev
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
libffi-dev is already the newest version (3.3-6).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 10
+ sudo apt install -o Dpkg::Options::=--force-confdef -y liblzma-dev
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
liblzma-dev is already the newest version (5.2.5-2.1~deb11u1).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
+ echo 11
+ sudo chmod +x /var/www/html/core/class/../../plugins/pyenv/resources/post-install.sh
+ sudo /var/www/html/core/class/../../plugins/pyenv/resources/post-install.sh
********************************************************
* Installation de pyenv *
********************************************************
Tue Apr 2 11:31:39 CEST 2024
********************************************************
* Installation terminée *
********************************************************
Tue Apr 2 11:31:40 CEST 2024
+ echo 12
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end pyenv
+ echo 13
+ rm /tmp/jeedom_install_in_progress_pyenv
+ echo '*******************End of package installation******************'
*******************End of package installation******************
J’ai toujours le même état coté pyenv4Jeedom (j’ai pas compris si c’était normal à ce stade) :