Загрузка Ubuntu Desktop 22.04 зависает каждый раз: зависимости Zeroconf?
Мы обнаружили, что процесс загрузки Ubuntu Desktop 22.04 особенно ненадежен и постоянно зависает во время настройки. Мы еще не определились с модальностью и подумали, что посмотрим, есть ли у кого-нибудь представление о том, что происходит, пока мы продолжаем отладку. Возможно, существуют какие-то общеизвестные сведения, которые еще не добрались до нашего уголка леса.
Процесс загрузки Ubuntu 22.04 кажется особенно чувствительным к отклонению трафика Zeroconf с помощью правил DROP iptables или отсутствия пакета avahi-daemon, особенно при наличии физических сетевых подключений. Ubuntu 20.04 LTS не демонстрирует такого поведения. Система также не может пройти через свой первый
# apt update && apt upgrade
без того, чтобы процесс зависал, и последующая перезагрузка зависала. Таким образом, причина, по-видимому, была изолирована, но не модальность зависания при загрузке.
Зависания при загрузке проявляются по-разному, чаще всего в виде циклов упорядочения systemd или неудачного монтирования разделов, что может быть связано. Непонятно, где это следы.
- Это может быть упорядочение единиц, хотя здесь ничего не очевидно.
- Возможно, на порядок блоков влияет отсутствие сетевого трафика zeroconf ( т . е . предотвращение достижения целей), но не существует очевидной причины, по которой локальные процессы не могли бы обмениваться данными через d-bus, но если они обменивались данными через tcp-ip, почему они не реализовывать более безопасное разрешение имен, чем широковещательный трафик. Принципиально совершенно непонятно, почему такой трафик существует, его источник или назначение.
- Это также могут быть неудовлетворенные зависимости пакетов после очистки: сообщения об ошибках смутно предполагают snapd, хотя это может быть просто еще одна жертва. Обратный анализ зависимостей может предложить gnome (vanilla-gnome-desktop или gnome-shell)(возможно, через libapache2-mod-dnssd), systemtap, telepathy-salut или что-то еще, но как они сочетаются друг с другом или какова конкретная модальность зависания. Непонятно, мне (непрофессиональному сисадмину, в лучшем случае), по крайней мере.
Мы отлаживаем наши привычные сценарии установки, которые удаляют всякую неактуальную или ненужную дрянь, такую как avahi-daemon, network-manager, ufw, netplan.io, ModemManager, fprintd, ppp, linux-ppp и т. д., настраивают сеть через systemd-networkd и разрешите запуск iptables при загрузке до запуска сети. Процесс отладки начался без очистки, затем перезагрузился после очистки пакетов.
Правила iptables отбрасывают заведомо плохие пакеты, включая весь широковещательный трафик и трафик Zeroconf. Ядро настроено на пересылку пакетов, поэтому эти правила DROP находятся в цепочке PREROUTING таблицы mangle, поэтому они очищаются перед достижением цепочек INPUT и FORWARD таблицы фильтров. Предположительно, это также очищает трафик на петлевом интерфейсе. Правила INPUT, OUTPUT и FORWARD ПРИНИМАЮТ соответствующий трафик перед правилом DROP по умолчанию в каждом случае. Отладка здесь включала в себя комментирование правил DROP zeroconf, что восстанавливает загрузку в некоторых случаях, но по неизвестным причинам.
Любопытно, что ни одна из этих конфигураций не влияет на процесс загрузки, когда у машины отключен кабель Ethernet.
Отладка продолжается, но любые конструктивные мысли о том, что может работать и как добиться стабильной установки, будут особенно оценены. Я не при делах, пока это не решится.