Rozwiązywanie problemów z picockpit-client

Pi jest wyświetlane jako offline

Sprawdź, czy usługa picockpit-client jest aktywna na Twoim Raspberry Pi. Proszę otworzyć terminal i napisać:

sudo service picockpit-client status

Jeśli picockpit-client jest aktywny i działa poprawnie, otrzymasz następujące dane wyjściowe:

service picockpit-client status, active (działa)

Następnie zbadaj wyjście logu. Możesz zrzucić go do pliku za pomocą następującego polecenia, aby wysłać go do nas, abyśmy mogli przeanalizować problem:

sudo journalctl -u picockpit-client.service -n 1000 > /tmp/log.txt
część logu dostarczanego przez journalctl

Błąd GLIBC

Podczas próby instalacji / uruchomienia picockpit-client, pojawia się komunikat podobny do poniższego:

/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: nie znaleziono wersji `GLIBC_2.28' (wymagana przez /usr/share/picockpit-client/bin/python)
/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: nie znaleziono wersji `GLIBC_2.25' (wymagana przez /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)

Ten problem wskazuje, że uruchomiona jest aplikacja niekompatybilny system operacyjny wersja. Na przykład, może się to zdarzyć, jeśli uruchomisz picockpit-client na Raspbian Stretch, poprzedniej wersji Raspbiana.

W tej chwili tylko aktualne główne wydanie Raspberry Pi OS "Buster" jest obsługiwany.

Wyjaśnienie techniczne: Python, który jest dostarczany z picockpit-client zależy od pewnej wersji biblioteki GLIBC, która wynosi 2.28. Inne wydania Raspbiana dostarczane są ze starszymi / innymi wersjami GLIBC.

"Interfejs między dowolną aplikacją a libc jest kompatybilny do przodu z nowszymi wydaniami, ale nie jest kompatybilny wstecz ze starszymi wydaniami."

obejście dla błędu GLIBC

Poniższe informacje nie są przetestowane, ale podaję je dla członków społeczności, którzy są chętni do eksperymentowania. Twoja opinia na temat tego rozwiązania jest bardzo mile widziana, proszę dać nam znać, co działa dla Ciebie na jakim OS.

Używając narzędzia o nazwie patchelfmożna zmodyfikować binarki tak, aby używały niestandardowych wersji bibliotek współdzielonych (dynamicznie łączonych). W tym celu można dodać wymagane biblioteki do niestandardowego folderu w drzewie katalogów i zmodyfikować python picockpit-clienta (znajdujący się w /usr/share/picockpit-client/bin/python ), aby z nich korzystać.

Poniższe linki powinny być przydatne (uwaga, są to nie Debian / Raspberry Pi OS specific):

Jeśli pójdziesz tą drogą i spotkasz się z sukcesem, proszę dać nam znać abyśmy mogli podzielić się rozwiązaniem z wszystkimi.

W przyszłości planuję przeportować picockpit-client na język Go i połączyć go statycznie z musl zamiast glibc; w ten sposób powinien być przenośny na większą liczbę systemów.

Zgłaszanie problemów

Zgłaszając inny problem, lub taki, który nie może być rozwiązany za pomocą wskazówek na tej stronie, proszę pamiętać o dołączeniu zrzutów ekranu interfejsu webowego PiCockpit, oraz logów z interfejsu webowego i picockpit-client.

log dla picockpit-client

Oto instrukcje, jak uzyskać dostęp do dziennika picockpit-client na Raspberry Pi OS w wierszu poleceń Raspberry Pi:

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

Proszę załączyć wyjście dziennika do wiadomości e-mail.

dziennik dla interfejsu sieciowego

Aby pomóc nam w dalszym debugowaniu, proszę również otworzyć Narzędzia dla programistów (w Chrome: Ctrl + Shift + I) i wysłać nam wyjście z konsoli JavaScript. Kliknij prawym przyciskiem myszy jedną z linii dziennika i wybierz "Zapisz jako", aby zapisać plik dziennika.

Uwaga: jeśli używasz Firefoksa, Edge'a lub innej przeglądarki, sposób dostępu do danych wyjściowych dziennika będzie inny.

Aby zgłosić problem, należy skontaktuj się z nami za pomocą strony kontaktowej pi3g (nasza spółka macierzysta).