I have a small arm server that runs Arch. I wanted to use only dhcpcd for my ethernet connection so I disabled netctl.service and netctl-ifplugd.service. Turns out that didn't work and I have no means of connecting to the machine anymore.
Você certificou-se de ativar o dhcpcd depois de desabilitar o netctl?
How can I "systemctl enable netctl.service" by manipulating files and/or symlinking files on that usb?
The equivalent alternative question is, what does "systemctl enable netctl.service" do?
Tudo que o systemctl enable
faz é criar links simbólicos de /usr/lib/systemd/system/
ou /etc/systemd/system/
para os diretórios de destino apropriados em /etc/systemd/system/
, com os serviços no último diretório substituindo os que estão no primeiro.
Do systemctl (1) página de manual:
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.
Em vez de usar systemctl enable
, você pode ativar o serviço netctl manualmente com o seguinte comando:
ln -s /usr/lib/systemd/system/netctl.service \
/etc/systemd/system/multi-user.target.wants/netctl.service
E para desativá-lo manualmente, você pode usar o seguinte comando para remover o link simbólico criado com o comando ln
anterior:
rm /etc/systemd/system/multi-user.target.wants/netctl.service
O diretório de destino apropriado pode ser encontrado procurando a configuração WantedBy
na seção [Install]
do arquivo de serviço em questão, embora os arquivos de serviço antigos às vezes tenham Alias
em vez de WantedBy
e você pode querer mude para usar WantedBy
, mas também funcionará bem.
Em vez de reverter para o uso do netctl, você pode primeiro verificar se o serviço dhcpcd foi habilitado corretamente e, se estiver, pode usar journalctl
--directory
ou --root
flags para verificar os logs do serviço dhcpcd após montar o sistema de arquivos em sua outra máquina e ver se isso pode dar alguma pista de por que ele não funcionou corretamente.