У меня есть небольшой сервер, который запускает Arch. Я хотел использовать только dhcpcd
для моего подключения к Ethernet, поэтому я отключил netctl.service
и netctl-ifplugd.service
. Оказывается, это не сработало, и у меня больше нет возможности подключиться к машине. У сервера есть корневой каталог на USB-ключе, который я могу смонтировать на своем рабочем столе, поэтому вопрос таков:
Как я могу systemctl enable netctl.service
манипулировать файлами и / или символическими ссылками на этом USB?
Эквивалентный альтернативный вопрос: что делает systemctl enable netctl.service
?
systemctl enable netctl && systemctl start netctl
илиsystemctl enable dhcpd && systemctl start dhcpd
с компьютера, к которому вы не можете подключиться.Ответы:
Вы обязательно включили dhcpcd после отключения netctl?
Все, что
systemctl enable
нужно сделать, - это создать символические ссылки из/usr/lib/systemd/system/
или/etc/systemd/system/
в соответствующие целевые каталоги/etc/systemd/system/
, а службы в последнем каталоге переопределяют в первом.Из справочной страницы systemctl (1) :
Вместо использования
systemctl enable
вы можете вручную включить службу netctl с помощью следующей команды:И чтобы отключить его вручную, вы можете использовать следующую команду для удаления символической ссылки, созданной с помощью предыдущей
ln
команды:Подходящий целевой каталог можно найти, посмотрев
WantedBy
настройку в[Install]
разделе рассматриваемого служебного файла, хотя иногдаAlias
вместо него есть старые служебные файлы,WantedBy
и вы можетеWantedBy
вместо этого перейти на использование , но оба будут работать так же хорошо.Вместо того, чтобы вернуться к использованию netctl, вы можете сначала проверить, что служба dhcpcd была включена правильно, и если это так, вы можете использовать
journalctl
s--directory
или--root
flags, чтобы проверить журналы службы dhcpcd после монтирования файловой системы на другом компьютере и посмотреть, может ли это дать какие-либо подсказки относительно того, почему он не работал должным образом.источник
systemctl enable netctl.service
вы получаете вывод CLI, показывающий ваш anwser =)