Проблемы с обновлением APT на Raspberry Pi 5 при использовании PXE Boot
Если вы столкнулись с проблемами при обновлении пакетов на вашей Raspberry Pi 5, работающей через PXE Boot, то вы не одиноки. В этой статье мы обсудим распространенные ошибки, связанные с APT, и предложим возможные решения.
Конфигурация и ошибка
Мое окружение состоит из TFTP-сервера на базе TrueNAS и двух NFS-экспортов: один для TFTPBoot и один для корневых файловых систем. При настройке DHCP, опция 66 корректно указывает IP-адрес TFTP, и система загружается без проблем. Однако, при попытке запустить команду apt-get update
, я сталкиваюсь с ошибной.signature проверки.
Ошибка
В процессе обновления я вижу следующие ошибки:
Err:15 https://dietpi.com/apt bookworm InRelease
At least one invalid signature was encountered.
И подобные сообщения при использовании других репозиториев.
Процесс получения корневых файловых систем
Для начала стоит описать процесс настройки вашей системы на PXE Boot:
- Загрузите Raspberry Pi 5 с новой SD-карты.
- Пройдите начальную установку.
- Используйте
rsync
для копирования файлов из/Boot
,/Persdware
и корневых файловых систем в NFS-экспорты. Команда была выполнена с опцией--perms
, и я проверил права доступа.
Однако, когда Raspberry Pi 5 загружается через PXE, выполнение apt-get update
приводит к множественным ошибкам:
Примеры ошибок
W: GPG error: http://deb.debian.org/debian bookworm InRelease: At least one invalid signature was encountered.
E: The repository 'http://deb.debian.org/debian bookworm InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
Эти предупреждения указывают на то, что репозитории не могут быть аутентифицированы, и использование их может быть потенциально опасным.
Решения и настройки
Первым шагом к устранению проблемы является проверка прав доступа NFS. Оказалось, что проблема заключалась в том, что пользователь и группа, использованные для NFS, были установлены на nobody
и nogroup
. Этот подход идеально работает для большинства случаев, но не для PXE Boot.
Корректные настройки NFS
Для корректной работы вам необходимо изменить настройки /etc/exports
с использованием параметра no_root_squash
. Это позволит пользователю root
на клиенте (Raspberry Pi) выполнять операции, требующие повышенных привилегий.
Пример записи в /etc/exports
:
"/mnt/storage/tftp/rpi-pxe" \
192.168.1.0/24(sec=sys,rw,no_root_squash,insecure,subtree_check)
"/mnt/storage/tftp/rpi-tftpboot" \
192.168.1.0/24(sec=sys,rw,no_root_squash,insecure,subtree_check)
Важно отметить, что данный подход имеет свои риски с точки зрения безопасности, поэтому рекомендуется применять его только в тестовых условиях.
Заключение
Если вы столкнулись с ошибками при обновлении APT на Raspberry Pi 5, работающей через PXE Boot, проверьте настройки NFS и убедитесь, что они настроены корректно. Использование параметров no_root_squash
может помочь в решении проблемы, однако стоит внимательно относиться к вопросам безопасности. Надеюсь, эта информация поможет вам устранить возникающие проблемы и наладить работу вашей системы.