¿Qué hace systemctl enable netctl.service?


10

Tengo un pequeño servidor de brazo que ejecuta Arch. Quería usar solo dhcpcdpara mi conexión ethernet, así que desactivé netctl.servicey netctl-ifplugd.service. Resulta que no funcionó y ya no tengo medios para conectarme a la máquina. El servidor tiene su raíz en una clave usb que puedo montar en mi escritorio y la pregunta es:

¿Cómo puedo systemctl enable netctl.servicemanipular archivos y / o simular enlaces en ese usb?

La pregunta alternativa equivalente es, ¿qué hace systemctl enable netctl.service?


netctl es la línea de comandos equivalente al Graphical NetworkManager. netctl inicia el servicio dhcpd si dhcpd.service no está habilitado. ifplugd monitorea la pérdida de conexión del cable. La única manera que conozco, ya que los servicios son interdependientes es usar systemctl enable netctl && systemctl start netctl, o systemctl enable dhcpd && systemctl start dhcpddesde la máquina a la que no puede conectarse.
eyoung100

Mi dhcpcd permanece habilitado. Una vez cambié la configuración para tener una ip estática, pero he revertido los cambios en dhcpcd.conf. Sin embargo, el servidor no aparece en la lista de clientes de mi enrutador. No hay forma de interactuar con el servidor arm ya que no hay un monitor ni un teclado para conectar.
Azrael3000

¿Hay un puerto serie?
eyoung100

No no hay.
Azrael3000

¿Cómo lo instaló la primera vez? ... Necesitará volver a habilitar el servicio netctl ya que netctl le dice a dhcpd que use una ip estática que debe tener para llegar al terminal de alguna manera
eyoung100

Respuestas:


12

Tengo un pequeño servidor de brazo que ejecuta Arch. Quería usar solo dhcpcd para mi conexión ethernet, así que deshabilité netctl.service y netctl-ifplugd.service. Resulta que no funcionó y ya no tengo medios para conectarme a la máquina.

¿Se aseguró de habilitar dhcpcd después de deshabilitar netctl?

¿Cómo puedo "systemctl habilitar netctl.service" manipulando archivos y / o simulando archivos en ese usb?

La pregunta alternativa equivalente es, ¿qué hace "systemctl enable netctl.service"?

Todo lo que systemctl enablehace es crear enlaces simbólicos desde /usr/lib/systemd/system/o /etc/systemd/system/hacia los directorios de destino apropiados /etc/systemd/system/, con servicios en el último directorio anulando los del primero.

Desde la página de manual de 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.

En lugar de usar systemctl enable, puede habilitar el servicio netctl manualmente con el siguiente comando:

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

Y para deshabilitarlo manualmente, puede usar el siguiente comando para eliminar el enlace simbólico creado con el lncomando anterior :

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

El directorio de destino apropiado se puede encontrar buscando la WantedByconfiguración en la [Install]sección del archivo de servicio en cuestión, aunque los archivos de servicio más antiguos a veces tienen en Aliaslugar de WantedByy es posible que desee cambiar a usar en su WantedBylugar, pero ambos funcionarán igual de bien.

En lugar de volver a usar netctl, primero puede verificar que el servicio dhcpcd se haya habilitado correctamente, y si fue así, puede usar journalctl's' --directoryo ' --rootflags' para verificar los registros del servicio dhcpcd después de montar el sistema de archivos en su otra máquina y ver si eso puede dar pistas sobre por qué no funcionó correctamente.


Lástima que debería haberlo comprobado antes de volver a instalarlo ahora. Gracias por tu respuesta. Aunque no puedo probarlo ahora, aceptaré tu respuesta.
Azrael3000

1
Este es el mejor respuesta! Y esta respuesta es de alguna manera obvia porque cada vez que ejecuta systemctl enable netctl.serviceobtendrá una salida CLI que le muestra su respuesta =)
71GA
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.