8 votos

¿Cómo eliminar completamente un servicio de launchd añadido por error?

Por error añadí un servicio no válido (inexistente) a launchd:

sudo launchctl enable system/homebew.mxcl.cntlm

Lo anterior debe ser system/homebrew.mxcl.cntlm en su lugar.

Sin embargo, después de quitar el servicio:

sudo launchctl remove system/homebew.mxcl.cntlm

sigue apareciendo en la lista de servicios desactivados:

nlykkei-mbp:~ nlykkei$ launchctl print-disabled system
disabled services = {
    "org.apache.http" => false
    "homebrew.mxcl.dnsmasq" => false
    "com.apple.CSCSupportd" => true
    "com.apple.ftpd" => true
    "com.apple.mdmclient.daemon.runatboot" => true
    "com.openssh.sshd" => false
    "org.apache.httpd" => true
    "com.apple.bootpd" => true
    "homebrew.mxcl.cntlm" => false
    "org.macosforge.xquartz.privileged_startx" => false
    "com.launchd.maxfiles" => false
    "com.apple.ftp-proxy" => true
    "homebew.mxcl.cntlm" => false     <-- doesn't exist
}

¿Cómo puedo eliminar todo rastro de homebew.mxcl.cntlm de mi sistema, para que no aparezca usando launchctl ?

6voto

klanomath Puntos 19587

Inmediatamente después de eliminar el servicio no podrá encontrar el nombre del servicio en un archivo distintivo y editable. Probablemente esté oculto en alguna caché.

Sin embargo, después de reiniciar deberías poder eliminar sus rastros siguiendo estos pasos:

  1. Buscar el nombre del servicio inexistente a eliminar en los archivos de este directorio: /var/db/com.apple.xpc.launchd

    sudo grep -rnw '/var/db/com.apple.xpc.launchd/' -e "homebew"
  2. Edite el archivo encontrado por grep con nano (la cadena se encuentra probablemente en disabled.plist)

    sudo nano /var/db/com.apple.xpc.launchd/disabled.plist

    Mueva el cursor hasta las dos líneas incriminatorias (nombre del servicio, p. ej. <key>homebew.mxcl.cntlm</key> seguido de su estado, por ejemplo <false/> ) y eliminar cada uno con ctrlK . Hit ctrlO , y ctrlX , para guardar los cambios en el disco y salir de nano.

  3. Reinicie de nuevo y launchctl print-disabled system ya no mostrará el servicio.


Debido a un mecanismo de caché agresivo u otros procedimientos opacos del sistema, la eliminación de las líneas no funciona de forma fiable con vim o nano (en el sistema del OP no funcionó en absoluto, en mi Catalina VM 5 de 6 intentos han tenido éxito).

Luego hay que limpiar el archivo en Modo Recuperación:

  1. Arranque en modo de recuperación

  2. En la barra de menú, abra Terminal

  3. Edita el archivo con nano. Las rutas dependen del nombre de tu volumen principal (por ejemplo Macintosh HD ):

    /Volumes/Macintosh\ HD/usr/bin/nano /Volumes/Macintosh\ HD//var/db/com.apple.xpc.launchd/disabled.plist
  4. Entre en reboot para arrancar normalmente.

1 votos

Tendrás que borrar la línea, por ejemplo <key>homebrew.mxcl.cntlm/key> y la línea inmediatamente posterior, que puede ser <true/> o <false/> .

0 votos

@klanomath - aunque borre /var/db/com.apple.xpc.launchd/disabled.plist utilizando sudo rm Si se reinicia el sistema, el contenido de la carpeta sigue siendo el mismo. Eso sugiere que launchd de alguna manera captura su contenido y reescribe el archivo. ¿Tienes alguna idea de cómo resolver este problema?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X