У меня есть небольшой сервер, который запускает 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 была включена правильно, и если это так, вы можете использовать journalctls --directoryили --rootflags, чтобы проверить журналы службы dhcpcd после монтирования файловой системы на другом компьютере и посмотреть, может ли это дать какие-либо подсказки относительно того, почему он не работал должным образом.
systemctl enable netctl && systemctl start netctlилиsystemctl enable dhcpd && systemctl start dhcpdс компьютера, к которому вы не можете подключиться.