Вопрос или проблема
Я успешно использовал сервер 22.04 более года (физическая машина).
Вчера после обновления (через apt upgrade
), в основном обновлявшего ядро до 5.15.0-130-generic
, сервер внезапно исчез из сети после перезагрузки.
Я получил доступ к физической консоли и понял, что сети вообще нет!
До обновления у меня была настройка с использованием netplan (2 интерфейса, объединение, 802.3ad), которая работала идеально до перезагрузки. Конфигурационный файл все еще находится в папке /etc/netplan/
.
Удивительно, но даже команда netplan больше не доступна в системе после обновления.
Единственной возможностью вернуть сеть в рабочее состояние было вручную переключиться на NetworkManager и настроить сеть заново с помощью nmcli
(также успешно, так как она работает сейчас, хотя и не просто, так как все интерфейсы были помечены как unmanaged
).
Тем не менее, я не имею представления, что именно произошло во время обновления и как вернуться к прежней конфигурации?
apt install netplan
дает no installation candidate
, текущая версия ОС — 22.04.5
.
Независимо от причины этого беспорядка: есть ли способ “переустановить” netplan в 22.04.5? Если да, то как?
Ответ или решение
Учитывая вашу ситуацию с Ubuntu Server 22.04.5, где исчез netplan и вся сеть стала неработоспособной после обновления, давайте разберем возможные причины и методы решения этой проблемы.
Теория
Обновления на Ubuntu могут иногда вызывать неожиданные проблемы, особенно если касаются критических системных компонентов. В данном случае, обновление, включавшее новую версию ядра, повлияло на сетевую конфигурацию. Несколько факторов могли привести к этому:
-
Неполное обновление пакетов: Иногда обновление системы прерывается, оставляя некоторые пакеты в неконсистентном состоянии. Это может привести к удалению или повреждению некоторых системных утилит, таких как netplan.
-
Изменения в зависимости пакетов: Изменения в зависимости пакетов могут вызвать проблемы с конфигурацией сети. В результате, некоторые пакеты могут быть удалены, если система полагает, что они больше не требуются.
-
Ошибки в обновлении: Иногда новые версии пакетов содержат ошибки, которые могут вызывать некорректную работу системы.
Пример
Рассмотрим пример: представим, что у вас был настроен bonding на основе 802.3ad через netplan. После обновления и перезагрузки сервер пропал из сети. Проверяя состояние, вы обнаружили отсутствие netplan и сети в целом. Конфигурационные файлы на месте, но сам инструмент netplan отсутствует.
Применение
Вот шаги, которые можно предпринять для решения проблемы:
-
Диагностика текущего состояния:
- Проверьте состояние пакетов командой
dpkg --get-selections | grep ^install
, чтобы выяснить, возможно ли netplan был случайно удален. - Посмотрите логи apt в
/var/log/apt/history.log
и/var/log/apt/term.log
для поиска информации о всех удаленных или обновленных пакетах.
- Проверьте состояние пакетов командой
-
Попытка восстановления netplan:
- Добавьте репозиторий и обновите список пакетов: проверьте, может ли netplan находиться в другом репозитории, который не подключен. Возможно, причина заключается в удалении или перемещении пакета.
- Попробуйте выполнить команду
sudo apt update
для обновления перечня пакетов, затем выполнитеsudo apt install netplan.io
для установки netplan, если он доступен. - Если apt говорит, что нет кандидата на установку, убедитесь, что вы не используете устаревшие репозитории.
-
Фиксация зависимостей:
- Используйте
sudo apt-get install -f
для исправления зависимостей, которые могли быть повреждены или не установлены.
- Используйте
-
Альтернативное решение через NetworkManager:
- Вы уже использовали nmcli для временной настройки сети, но, возможно, стоит рассмотреть полную миграцию на NetworkManager, если netplan не удается восстановить быстро.
-
Проверка логов:
- Изучите
/var/log/syslog
для поиска каких-либо сообщений о сетевых проблемах или сбоях в конфигурации после обновления и во время загрузки.
- Изучите
-
Обновление и восстановление системы:
- Если проблема не решается, вы можете попробовать выполнить
sudo do-release-upgrade
для обновления до следующей точки выпуска, возможно, это восстановит недостающие пакеты и исправит конфигурацию.
- Если проблема не решается, вы можете попробовать выполнить
Заключительный совет
Учитывая критичность сетевой конфигурации для серверов, я настоятельно рекомендую регулярно делать резервные копии всех сетевых конфигураций и других важных системных параметров перед выполнением крупных обновлений. Также рассматривайте возможность тестирования обновлений на тестовых серверах, если такая возможность имеется, чтобы предотвратить подобные проблемы на производственных системах.
Эти шаги и методы дадут вам обширные возможности для расследования и исправления возникающих проблем с сетью на Ubuntu Server 22.04.5, тем самым возвращая ваш сервер в нормальное рабочее состояние.