Загрузка Ubuntu Desktop 22.04 каждый раз зависает: зависимости Zeroconf?

Загрузка 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.

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

Связанный контент