Qu'est-ce que systemctl permet à netctl.service


10

J'ai un petit serveur de bras qui exécute Arch. Je voulais utiliser uniquement dhcpcdpour ma connexion Ethernet, j'ai donc désactivé netctl.serviceet netctl-ifplugd.service. Il s'avère que cela n'a pas fonctionné et je n'ai plus aucun moyen de me connecter à la machine. Le serveur a sa racine sur une clé USB que je peux monter sur mon bureau et donc la question est:

Comment puis-je systemctl enable netctl.servicemanipuler des fichiers et / ou des liens symboliques sur cette clé USB?

La question alternative équivalente est: que fait systemctl enable netctl.service-on?


netctl est la ligne de commande équivalente à Graphical NetworkManager. netctl démarre le service dhcpd si dhcpd.service n'est pas activé. ifplugd surveille la perte de connexion des câbles. La seule façon que je sache, car les services sont interdépendants, est d'utiliser systemctl enable netctl && systemctl start netctlou à systemctl enable dhcpd && systemctl start dhcpdpartir de la machine à laquelle vous ne pouvez pas vous connecter.
eyoung100

Mon dhcpcd reste activé. J'ai une fois changé la configuration pour avoir une adresse IP statique, mais j'ai annulé les modifications dans dhcpcd.conf. Cependant, le serveur n'apparaît pas sur ma liste de clients de routeurs. Il n'y a aucun moyen d'interagir avec le serveur ARM car il n'y a ni moniteur ni clavier à connecter.
Azrael3000

Y a-t-il un port série?
eyoung100

Non, il n'y en a pas.
Azrael3000

Comment l'avez-vous installé la première fois ... Vous devrez réactiver le service netctl puisque netctl dit à dhcpd d'utiliser une adresse IP statique que vous devez obtenir d'une manière ou d'une autre sur le terminal
eyoung100

Réponses:


12

J'ai un petit serveur de bras qui exécute Arch. Je voulais utiliser uniquement dhcpcd pour ma connexion Ethernet, j'ai donc désactivé netctl.service et netctl-ifplugd.service. Il s'avère que cela n'a pas fonctionné et je n'ai plus aucun moyen de me connecter à la machine.

Vous êtes-vous assuré d'activer dhcpcd après avoir désactivé netctl?

Comment puis-je "systemctl activer netctl.service" en manipulant des fichiers et / ou des liens symboliques sur cette clé USB?

La question alternative équivalente est, que fait "systemctl enable netctl.service"?

Il systemctl enablesuffit de créer des liens symboliques depuis /usr/lib/systemd/system/ou /etc/systemd/system/vers les répertoires cibles appropriés dans /etc/systemd/system/, les services de ce dernier annulant ceux du premier.

A partir de la page de manuel 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.

Au lieu d'utiliser, systemctl enablevous pouvez activer le service netctl manuellement avec la commande suivante:

ln -s /usr/lib/systemd/system/netctl.service \
      /etc/systemd/system/multi-user.target.wants/netctl.service

Et pour le désactiver manuellement, vous pouvez utiliser la commande suivante pour supprimer le lien symbolique créé avec la lncommande précédente :

rm /etc/systemd/system/multi-user.target.wants/netctl.service

Le répertoire cible approprié peut être trouvé en recherchant le WantedByparamètre dans la [Install]section du fichier de service en question, bien que les anciens fichiers de service aient parfois la Aliasplace de WantedByet vous souhaiterez peut-être passer à l'utilisation à la WantedByplace, mais l'un ou l'autre fonctionnera tout aussi bien.

Au lieu de revenir à l' utilisation netctl vous pouvez d' abord vérifier que le service dhcpcd a été correctement activé, et si elle était , vous pouvez utiliser journalctll » --directoryou des --rootdrapeaux pour vérifier les journaux du service dhcpcd après le montage du système de fichiers sur l' autre machine et voir si cela peut donner des indices sur la raison pour laquelle il n'a pas fonctionné correctement.


Dommage que j'aurais dû vérifier avant de réinstaller tout de suite. Merci pour votre réponse. Même si je ne peux pas le tester maintenant, j'accepterai votre réponse.
Azrael3000

1
C'est la meilleure réponse! Et cette réponse est en quelque sorte évidente car chaque fois que vous exécutez, systemctl enable netctl.servicevous obtiendrez une sortie CLI vous montrant votre réponse =)
71GA
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.