Отладка проблем с picockpit-client

Pi отображается как автономный

Проверьте, активна ли служба picockpit-client на вашем Raspberry Pi. Откройте терминал и напишите:

sudo service picockpit-client status

Это даст вам следующий результат, если picockpit-client активен и работает правильно:

service picockpit-client status, active (работает)

Далее исследуйте вывод журнала. Вы можете сбросить его в файл с помощью следующей команды и отправить его нам, чтобы мы могли проанализировать проблему:

sudo journalctl -u picockpit-client.service -n 1000 > /tmp/log.txt
часть журнала, предоставляемая journalctl

Ошибка GLIBC

При попытке установить/запустить picockpit-client вы видите сообщение, похожее на следующее:

/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)

Эта проблема показывает, что вы используете несовместимая операционная система версия. Например, это может произойти, если вы запустите picockpit-client на Raspbian Stretch, предыдущем выпуске Raspbian.

На данный момент существует только текущий основной выпуск Raspberry Pi OS "Бастер" поддерживается.

Техническое объяснение: Python, поставляемый с picockpit-client, зависит от определенной версии библиотеки GLIBC, которая равна 2.28. Другие релизы Raspbian поставляются с более старыми или другими версиями GLIBC.

"Интерфейс между любым приложением и libc совместим с более новыми выпусками, но не совместим с более старыми выпусками".

обходное решение для ошибки GLIBC

Следующая информация не является проверенной, но я предоставляю ее для членов сообщества, которые готовы экспериментировать. Ваши отзывы об этом решении очень приветствуются, пожалуйста, сообщите нам, что работает для вас на какой ОС.

Используя инструмент под названием patchelfВы можете модифицировать двоичные файлы, чтобы использовать пользовательские версии общих (динамически подключаемых) библиотек. Таким образом, вы можете добавить необходимые библиотеки в пользовательскую папку в вашем дереве каталогов и изменить python picockpit-client (расположенный в папке /usr/share/picockpit-client/bin/python ), чтобы использовать их.

Следующие ссылки должны быть полезны (обратите внимание, что они не Debian / Raspberry Pi OS specific):

Если вы пойдете по этому пути и встретите успех, пожалуйста, сообщите нам чтобы мы могли поделиться решением со всеми.

В будущем я планирую перенести picockpit-client на язык Go и статически связать его с musl вместо glibc; таким образом, он будет переносимым на большее количество систем.

Сообщаем о проблемах

Если вы сообщаете о другой проблеме или о проблеме, которую не удалось решить с помощью советов на этой странице, пожалуйста, не забудьте приложить скриншоты веб-интерфейса PiCockpit, а также журналы веб-интерфейса и picockpit-клиента.

журнал для picockpit-client

Здесь приведены инструкции по доступу к журналу picockpit-client на Raspberry Pi OS через командную строку Raspberry Pi:

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

Пожалуйста, прикрепите вывод журнала к вашему письму.

журнал для веб-интерфейса

Чтобы помочь нам с дальнейшей отладкой, пожалуйста, также откройте Инструменты разработчика (в Chrome: Ctrl + Shift + I) и пришлите нам вывод консоли JavaScript. Щелкните правой кнопкой мыши одну из строк журнала и выберите "Сохранить как", чтобы сохранить файл журнала.

Примечание: если вы используете Firefox, Edge или другой браузер, способ доступа к выводу журнала будет отличаться.

Чтобы сообщить о проблеме, пожалуйста свяжитесь с нами, используя страницу контактов pi3g (наша материнская компания).