У меня есть небольшой сервер, который запускает Arch. Я хотел использовать только dhcpcd для подключения к Ethernet, поэтому я отключил netctl.service и netctl-ifplugd.service. Оказывается, это не сработало, и у меня больше нет возможности подключиться к машине.
Вы обязательно включили dhcpcd после отключения netctl?
Как я могу "systemctl включить netctl.service", манипулируя файлами и / или символическими ссылками на этом USB?
Эквивалентный альтернативный вопрос: что делает «systemctl enable netctl.service»?
Все, что systemctl enable
нужно сделать, - это создать символические ссылки из /usr/lib/systemd/system/
или /etc/systemd/system/
в соответствующие целевые каталоги /etc/systemd/system/
, а службы в последнем каталоге переопределяют в первом.
Из справочной страницы systemctl (1) :
enable NAME...
Enable one or more unit files or unit file instances, as
specified on the command line. This will create a number
of symlinks as encoded in the "[Install]" sections of the
unit files.
Вместо использования systemctl enable
вы можете вручную включить службу netctl с помощью следующей команды:
ln -s /usr/lib/systemd/system/netctl.service \
/etc/systemd/system/multi-user.target.wants/netctl.service
И чтобы отключить его вручную, вы можете использовать следующую команду для удаления символической ссылки, созданной с помощью предыдущей ln
команды:
rm /etc/systemd/system/multi-user.target.wants/netctl.service
Подходящий целевой каталог можно найти, посмотрев WantedBy
настройку в [Install]
разделе рассматриваемого служебного файла, хотя иногда Alias
вместо него есть старые служебные файлы, WantedBy
и вы можете WantedBy
вместо этого перейти на использование , но оба будут работать так же хорошо.
Вместо того, чтобы вернуться к использованию netctl, вы можете сначала проверить, что служба dhcpcd была включена правильно, и если это так, вы можете использовать journalctl
s --directory
или --root
flags, чтобы проверить журналы службы dhcpcd после монтирования файловой системы на другом компьютере и посмотреть, может ли это дать какие-либо подсказки относительно того, почему он не работал должным образом.
systemctl enable netctl && systemctl start netctl
илиsystemctl enable dhcpd && systemctl start dhcpd
с компьютера, к которому вы не можете подключиться.