Вопрос или проблема
Команда netplan apply
возвращает некоторые ошибки, когда я выполняю её как пользователь root.
root@szyf1272:/etc/netplan# netplan apply
Система не была загружена с systemd в качестве системы инициализации (PID 1). Не могу работать.
Система не была загружена с systemd в качестве системы инициализации (PID 1). Не могу работать.
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 186, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 186, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 116, in command_apply
utils.systemctl_networkd('stop', sync=sync, extra_services=wpa_services)
File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd
subprocess.check_call(command)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'stop', '--no-block', 'systemd-networkd.service', 'netplan-wpa-*.service']' вернула ненулевой код завершения 1.
Эта ошибка возвращается от systemd в ответ на команду:
systemctl stop --no-block systemd-networkd.service 'netplan-wpa-*.service'
Это проверяет, существует ли /run/systemd/system
и доступен ли он.
Это всегда верно для корректно загруженной системы Ubuntu 20.04.
Я не знаю, что вы могли сделать, чтобы эта директория отсутствовала, но такая система сильно сломана и не поддерживается.
Ответ или решение
Вопрос о том, почему команда netplan apply
не выполняется на Ubuntu 20.04 LTS, может быть вызван различными факторами, однако наиболее вероятной проблемой является то, что система не запущена с использованием systemd в качестве системы инициализации. Это может привести к серьезным сбоям при работе с сетевыми настройками с помощью Netplan.
Потенциальные причины проблемы
-
Отсутствие systemd: Ошибка
"System has not been booted with systemd as init system (PID 1). Can't operate."
показывает, что ваша система, скорее всего, была загружена с использованием другой системы инициализации, такой как SysVinit или Upstart. Проверьте, корректно ли загружается система. -
Неправильная конфигурация загрузчика: Возможно, что была настроена система на использование альтернативного загрузчика, что приводит к неправильной инициализации.
-
Отсутствие каталога
/run/systemd/system
: Данная ошибка может также возникнуть, если этот каталог отсутствует или к нему нет доступа. Проверьте наличие этого каталога командой:ls /run/systemd/system
Если он отсутствует, это может быть признаком серьезной поломки системы.
Что можно сделать для устранения проблемы
-
Проверка системы инициализации: Убедитесь, что система действительно загружена с использованием systemd. Для этого выполните команду:
ps -p 1 -o comm=
Вывод этого скрипта должен вернуть
systemd
. Если возвращается что-то другое, вам необходимо перезагрузить систему с применением systemd. -
Перезагрузка системы: Если вы не уверены в текущем состоянии системы, попробуйте перезагрузить её. Убедитесь, что она загружается с правильными параметрами.
-
Проверка логов: Изучите системные логи, чтобы выявить возможные ошибки при загрузке. Выполните команду:
journalctl -b -1 | less
Это откроет логи последней загрузки системы, где вы можете найти полезную информацию о возможных ошибках или сбоях.
-
Переустановка systemd: Если вы зафиксировали проблемы с системой инициализации, рассмотрите возможность переустановки systemd. Это может помочь восстановить его нормальную работу.
-
Исследование конфигураций: Проверьте конфигурации ваших сетевых интерфейсов в Netplan. Ошибки в конфигурации могут вызвать сбои, однако они не должны приводить к описанной вами проблеме.
Заключение
Если вышеуказанные шаги не устраняют проблему, рекомендуется создать резервные копии данных и рассмотреть возможность переустановки или восстановления системы. Помните, что системы, которые не загружаются корректно, могут не поддерживаться и обладать рядом серьезных проблем.
Обеспечение стабильной работы сетевой конфигурации является ключевым аспектом администрирования серверов, поэтому уделите достаточное внимание каждому этапу диагностики и устранения неполадок.