Ho un piccolo server arm che esegue Arch. Volevo usare solo dhcpcd per la mia connessione ethernet, quindi ho disabilitato netctl.service e netctl-ifplugd.service. Risulta che non ha funzionato e non ho più alcun mezzo per connettermi alla macchina.
Ti sei assicurato di abilitare dhcpcd dopo aver disabilitato netctl?
Come posso "systemctl abilitare netctl.service" manipolando i file e / o i file di collegamento simbolico su quel usb?
La domanda alternativa equivalente è: cosa fa "systemctl abilita netctl.service"?
Tutto ciò che systemctl enablefa è creare collegamenti simbolici da /usr/lib/systemd/system/o /etc/systemd/system/verso le directory di destinazione appropriate /etc/systemd/system/, con i servizi in quest'ultima directory che prevalgono su quelli nella prima.
Dalla manpage 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.
Invece di utilizzare systemctl enableè possibile abilitare manualmente il servizio netctl con il seguente comando:
ln -s /usr/lib/systemd/system/netctl.service \
/etc/systemd/system/multi-user.target.wants/netctl.service
E per disabilitarlo manualmente è possibile utilizzare il comando seguente per rimuovere il collegamento simbolico creato con il lncomando precedente :
rm /etc/systemd/system/multi-user.target.wants/netctl.service
La directory di destinazione appropriata può essere trovata cercando l' WantedByimpostazione nella [Install]sezione del file di servizio in questione, anche se a volte ha file di servizio meno recenti Aliasinvece di WantedBye potresti voler passare a usare WantedByinvece, ma entrambi funzioneranno altrettanto bene.
Invece di ripristinare l'utilizzo di netctl, è possibile innanzitutto verificare che il servizio dhcpcd sia stato abilitato correttamente e, in tal caso, è possibile utilizzare journalctli flag --directoryo i --rootflag per controllare i registri del servizio dhcpcd dopo aver montato il filesystem sull'altro computer e vedere se è possibile dare qualche indizio sul perché non ha funzionato correttamente.
systemctl enable netctl && systemctl start netctlosystemctl enable dhcpd && systemctl start dhcpddalla macchina a cui non è possibile connettersi.