Déboguer les problèmes de picockpit-client

Problème #1 : Pi est affiché comme étant hors ligne

Vérifiez si le service picockpit-client est actif sur votre Raspberry Pi. Ouvrez un terminal et écrivez :

sudo service picockpit-client status

Cela vous donnera la sortie suivante, si picockpit-client est actif et fonctionne correctement :

service picockpit-client status, active (running)

Examinez ensuite la sortie du journal.

Vous pouvez l'enregistrer dans un fichier à l'aide de la commande suivante pour nous l'envoyer, afin que nous puissions analyser le problème :

sudo journalctl -u picockpit-client.service -n 1000 > /tmp/log.txt

Cela produira un journal fourni par journalctl, qui ressemblera à quelque chose comme ceci :

une partie du journal fourni par journalctl

Vous pouvez ensuite nous contacter par l'intermédiaire du site PiCockpit Page de contact et nous envoyer le journal.

Problème #2 : Erreur GLIBC

En essayant d'installer / d'exécuter picockpit-client, vous voyez un message similaire au suivant :

/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by /usr/share/picockpit-client/bin/python)
/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by /usr/share/picockpit-client/bin/python)
/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.26' not found (required by /usr/share/picockpit-client/bin/python)

Ce problème montre que vous exécutez un système d'exploitation incompatible version.

Par exemple, cela peut se produire si vous exécutez picockpit-client sur Raspbian Stretch, la version précédente de Raspbian.

Pour le moment, seule la version majeure actuelle de Raspberry Pi OS "Buster"est pris en charge.

Explication technique : le Python qui est livré avec picockpit-client dépend d'une certaine version de la bibliothèque GLIBC, qui est 2.28. D'autres versions de Raspbian sont livrées avec des versions plus anciennes/autres de GLIBC.

"L'interface entre n'importe quelle application et libc est compatible avec les nouvelles versions, mais elle n'est pas rétrocompatible avec les anciennes versions."

Solution pour l'erreur GLIBC

Les informations suivantes n'ont pas été testées, mais nous les fournissons aux membres de la communauté désireux d'expérimenter.

Vos commentaires sur cette solution sont les bienvenus, Faites-nous savoir ce qui fonctionne pour vous et sur quel système d'exploitation..

En utilisant un outil appelé patchelfAvec Picockpit-client, vous pouvez modifier les binaires afin d'utiliser des versions personnalisées de bibliothèques partagées (liées dynamiquement). Pour cela, vous pouvez ajouter les bibliothèques requises dans un dossier personnalisé de votre arborescence, et modifier le fichier Python de picockpit-client (situé dans le dossier /usr/share/picockpit-client/bin/python ) pour les utiliser.

Les liens suivants devraient être utiles (notez qu'ils sont ne sont pas spécifiques à Debian ou au système d'exploitation du Raspberry Pi):

Si vous vous engagez dans cette voie et rencontrez le succès, veuillez nous le faire savoir afin que nous puissions partager la solution avec tout le monde.

Dans le futur, je prévois de porter picockpit-client vers le langage Go, et de le lier statiquement à musl au lieu de glibc ; de cette façon, il devrait être portable sur une plus grande variété de systèmes.

Signaler des problèmes

Lorsque vous rapportez un problème différent, ou un problème qui ne peut être résolu avec les conseils de cette page, assurez-vous d'inclure des captures d'écran de l'interface web de PiCockpit, et les logs de l'interface web et du picockpit-client.

Journal pour picockpit-client

Voici les instructions pour accéder au log picockpit-client sur Raspberry Pi OS sur la ligne de commande du Raspberry Pi :

sudo su
journalctl -u picockpit-client --since "4 days ago" > /tmp/picockpit-client2.txt

Veuillez joindre le journal de sortie à votre courriel.

Journal pour l'interface web

Pour nous aider à poursuivre le débogage, veuillez également ouvrir les outils de développement (sur Chrome : Ctrl + Shift + I), et envoyez-nous la sortie de la console JavaScript. Cliquez avec le bouton droit de la souris sur l'une des lignes du journal, et sélectionnez "Enregistrer sous" pour sauvegarder un fichier journal.

Remarque : si vous utilisez Firefox, Edge ou un autre navigateur, la façon d'accéder à la sortie du journal variera.

Pour signaler un problème, veuillez nous contacter par l'intermédiaire de l'adresse suivante PiCockpit Page de contact.