Удаление cloud-init с минимизированного сервера отмечает важные сетевые пакеты для удаления.

Вопрос или проблема

Я протестировал удаление cloud-init с использованием этого руководства на Ubuntu Server 22.04 и Ubuntu Server 22.04 (минимизированной) с установленными по умолчанию настройками. Удаление cloud-init с полной версии Ubuntu Server не отмечает важные пакеты для удаления, но в минимизированной версии оно делает это. Смотрите скриншот ниже. Если я выполню sudo apt autoremove после этого и перезапущу сервер, Интернет больше не будет доступен, и все команды, связанные с Интернетом, не будут найдены.

Это ошибка? Если нет, могу ли я удалить cloud-init из минимизированной версии, не разрушив сетевой доступ? Я не использую облако. Я просто хотел минимальную версию Ubuntu с добавлением XFCE.

введите описание изображения здесь

Я столкнулся с тем же самым.

Со второй попытки я сделал это в таком порядке, не перезагружая между командами…

apt purge cloud-init
rm -rf /etc/cloud
apt purge unattended-upgrades
rm -rf /var/log/unattended-upgrades
apt autoremove
apt install netplan.io
apt install isc-dhcp-client

Затем перезапустил, и сеть все еще работала с значениями, введенными при установке.

И я бы сказал, что удаление netplan.io с чем-либо в качестве зависимости явно должно считаться ошибкой.

Отметьте пакеты как ручные перед autoremove:

apt purge cloud-init cloud-guest-utils -y
apt-mark manual netplan.io software-properties-common fdisk gdisk isc-dhcp-client tzdata
apt autopurge -y

Боже.

Было ли это “улучшение” частью systemd тоже?

Выглядит так, будто Ubuntu становится слишком увлеченной предугадыванием потребностей небольшой части своих пользователей. Возможно, SNA следующая? Или CHILL? Или ChatGPT как часть ядра?

IMHO “systemd” был хорошим примером того, как нельзя делать то, что уже сделано:

  • Как опция, да;
  • В основной конфигурации — нет.

Операционные системы (и дистрибутивы) — очень сложные сущности, и добавление обязательных частей SD вводит зависимости, которые отсутствуют в UNIX и, IMHO, были отсутствуют по уважительной причине.

Но теперь у нас есть Agile, опыт нам не нужен, верно?

Добавление сложностей “systemd” и несогласованностей и прочей плохо определенной функциональности в пользовательский слой могло бы быть хорошей идеей в другом месте… это определенно похоже на идею Microsoft.

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

Другой несогласный комментарий 1.

Добавление большого набора зависимостей в форме интерфейсов управления облаками и стандартов (да) в базовую конфигурацию операционной системы общего назначения выглядит подозрительно как призыв к деньгам.

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

Или никто вообще его не использовал. Возможно. Включает ли случай использования то, что все экземпляры Ubuntu Server способны на перекрестный облачный трафик?

Рант 2.

Я оставлю пар для Wayland на потом. Конечно, игроки ценят и нисколько не заботятся об удаленном доступе к приложениям как части своего обычного набора окон: Никто не нуждается в этой функциональности, иначе MS бы предоставила ее, верно? Если RDP хорош для них, он должен быть хорош для всех. “ssh -Y” просто прихоть.

[
Возможно, я ошибаюсь: Большая часть рынка находится в облачных инстанциях, а остальное — в основном для игр на неполный рабочий день. Поэтому, вероятно, RDP достаточно хорош для этой категории пользователей.
]

Я хотел бы понять, почему “перекрытие всех возможных нужд основной дистрибутивом до выбора” стало важнее, чем документирование того, что находится в базе, и определение интерфейсов для правильно реализованных дополнений.

Спокойной ночи.

.

Ответ или решение

Удаление пакета cloud-init в минимизированной версии Ubuntu Server вызывает изменения, которые могут привести к удалению важных сетевых пакетов. Рассмотрим эту проблему детально, используя методику TEA (Теория, Пример, Практическое Применение).

Теория:
Пакет cloud-init в Ubuntu имеет важную роль в автоматизации начального настроя облачных экземпляров. Он обрабатывает метаданные, предоставляемые облачными платформами, для настройки сети и других системных параметров. В минимизированной версии Ubuntu Server удаление cloud-init может вызвать удаление зависимых пакетов, так как зависимости могут быть специально настроены для работы в облачных средах, отсюда и взаимосвязь между cloud-init и некоторыми сетевыми инструментами.

Пример:
Как показывает описание проблемы, при попытке удалить cloud-init в минимизированной версии Ubuntu Server 22.04 с помощью команды apt purge cloud-init, некоторые важные для работы сети пакеты также оказываются отмеченными для удаления. Эти пакеты включают такие критически важные компоненты, как netplan.io и isc-dhcp-client. После того как пользователь применяет команду sudo apt autoremove и перезагружает систему, она теряет сетевую доступность, что связано с удалением зависимости, ответственных за конфигурацию сети.

В самом деле, нестабильное поведение команды удаления пакетов может быть связано с тем, что минимизированная версия Ubuntu не рассчитана на локальное использование без cloud-init, которое воспринимается как важная составляющая конфигурации системы. Это также может быть связано с гораздо более агрессивным управлением зависимостями и автоочисткой в минимизированной версии, что приводит к ошибочному удалению связанных пакетов.

Практическое применение:
Решение состоит в предотвращении автоматического удаления сетевых пакетов вместе с cloud-init. Вы можете использовать следующие шаги для безопасного удаления cloud-init без потери сетевой функциональности:

  1. Очистка cloud-init:

    apt purge cloud-init cloud-guest-utils -y
  2. Маркировка необходимых пакетов как установленных вручную, чтобы предотвратить их удаление:

    apt-mark manual netplan.io software-properties-common fdisk gdisk isc-dhcp-client tzdata
  3. Очистка ненужных пакетов:

    apt autopurge -y
  4. Убедитесь в наличии всех нужных сетевых пакетов, установив:

    apt install netplan.io isc-dhcp-client
  5. Перезагрузите систему для проверки стабильности сетевого подключения.

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

Более того, данный случай подчеркивает вызовы, с которыми сталкиваются пользователи при управлении зависимостями в линуксовых дистрибутивах. Несмотря на совершенство систем управления пакетами, можно встретить ситуации, когда требуется индивидуальная настройка для сохранения нужного функционирования системы. Эти проблемы показывают, какие подводные камни могут встретить администраторы, работая с минимизированными конфигурациями Ubuntu, и как важна внимательная работа с зависимостями пакетов.

Оцените материал
Добавить комментарий

Капча загружается...