¿Cómo puedo desactivar avahi-daemon?


39

¿Cómo puedo deshabilitar avahi-daemon y puede explicarme cómo se ejecuta si aparece como un servicio pero no está en rcN.d?


Puedes dejar de leer aquí. De hecho, hazlo a menos que quieras ENSEÑAR a un novato sobre Ubuntu. La pregunta anterior debe ser lo suficientemente clara como para ser respondida. El resto es solo yo llamando a una forma más estructurada de encontrar el camino de Ubuntu. Puedo usar más o menos otros sistemas "tipo UNIX".

Soy un principiante, así que si actúo sin sentido, considérame tu WTF diario, pero ayúdame a mejorar, por favor.

En cada arranque, /sbin/initparece estar iniciando un proceso llamadoavahi-daemon

# initctl list | grep avahi
avahi-daemon start/running, process 1280

como usuario avahi

# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)

a ps -efww efmuestra 2 procesos activos, ambos llamados avahi-daemon, y el PPIDprimero avahi-daemones 1, de hecho , el segundo proceso es solo un hijo del primero. El PPID= 1es lo que me hace pensar que esto se inició automáticamente.


Opcionalmente:

Realmente no sé cómo verificar correctamente lo que se ejecuta al inicio del sistema, pensando en ello.

¿Es esta la forma de obtener una lista de servicios que se ejecutan al inicio? initctl list | sort


de todos modos, parece que puedo detener temporalmente este "servicio" a través de este comando:

service avahi-daemon stop

o de hecho este comando

/etc/init.d/avahi-daemon stop

directamente, que es lo que /usr/sbin/serviceparece estar usando:

env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"

Cuando se inicia, el script me recuerda que estoy controlando un servicio "Upstart" y que debería usar la invocación más simple stop avahi-daemon. Supongo que tendré que aprender sobre Upstart, pero por ahora, todo lo que necesito aprender es esto:

¿Cómo desactivo los servicios en Ubuntu?

Esto es lo que probé (esta debería ser la forma correcta de hacerlo, ¿o no?):

update-rc.d avahi-daemon disable

pero se queja:

System start/stop links for /etc/init.d/avahi-daemon do not exist

así que fui a buscar el camino al binario:

# Let me know if there is a better way to get the path above
readlink "/proc/$(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)/exe"

cual es este:

/usr/sbin/avahi-daemon

y cualquier cosa que pueda considerarse un "archivo ejecutable" en etc:

find /etc -type f -name '*avahi*' -perm -u+x

pensando que encontraría scripts de inicio en /etc/rcN.d. En su lugar encontré otras cosas:

/etc/dhcp/dhclient-exit-hooks.d/zzz_avahi-autoipd
/etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd
/etc/resolvconf/update-libc.d/avahi-daemon
/etc/network/if-up.d/avahi-autoipd
/etc/network/if-up.d/avahi-daemon
/etc/network/if-down.d/avahi-autoipd
/etc/avahi/avahi-autoipd.action

Parece que esto avahi-daemonse está lanzando en los cambios de estado de la red? ¿Hay una mejor manera de buscar binarios que se inician automáticamente en un sistema?

Normalmente habría borrado los enlaces simbólicos en varios rc{3,5}.den esta etapa, pero ahora no estoy muy seguro. ¿Qué comienza exactamente esta bestia? ¿Cómo deshabilitarlo sin apt-get removeo apt-get purge?

No tiene demasiados recursos abiertos, por lo que puedo ver:

lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)

ni utiliza demasiados ciclos de CPU, basados ​​en un vistazo rápido a htop.

Escribí esta frase para ver si funciona mal en el uso de la CPU durante un período de un minuto, y nunca lo hace, pero avíseme si hay mejores maneras de verificar eso:

for i in {1..59}; do ps -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`) --no-headers -o pcpu; sleep 1; done

9
Apor esfuerzo!
Geoff

Respuestas:


22

Los scripts de inicio para principiantes viven en /etc/initdonde puedes encontrarlos avahi-daemon.conf. Todas las cosas enumeradas en initctl listcoincidencias con scripts /etc/init, y no son ejecutables, por lo tanto, se las findperdió.

Para deshabilitar un servicio controlado de Upstart, consulte el libro de cocina Upstart sobre cómo deshabilitar los servicios : agregue #a la start onlínea o use archivos de anulación (ejemplo:) sudo sh -c "echo manual > /etc/init/avahi-daemon.override".


o comentar toda la start onestrofa, para ser técnico. Comenté tres líneas, por ejemplo.
noobninja

Es mejor usarservice avahi-daemon stop
Martijn van Wezel

16
sudo systemctl disable avahi-daemon

funcionó para mí en Ubuntu Gnome 15.10


2
También puede ejecutar "sudo systemctl stop avahi-daemon" para detenerlo de inmediato. Esta es la verdadera respuesta a la pregunta.
EnzoR

8

Descubrí que incluso si me detengo avahi-daemon(y avahi-daemon.socket), Firefox siempre lo reinicia. Sin embargo, esto funciona y deshabilita este molesto demonio permanentemente:

apt-get remove avahi-daemon

¿Qué tiene que ver Firefox con esta pregunta?
Mxx

2
@Mxx firefox solo activa el socket que reinicia Avahi. Tuve que desinstalarlo también para que wget y curl no lo usaran.
qwertzguy

¡Solución drástica, pero rápida y funcional!
andilabs

Leyó todas las respuestas, consideró que esta era una broma, probó las otras en vano, finalmente usó esta y la votó
golimar

5

Es posible que no necesite evitar que se inicie cuando se inicie la PC, pero tal vez evite que respawnlo haga cuando lo mate.

Entonces, solo comente el respawnen/etc/init/avahi-daemon.conf

Matar ese proceso siempre fallaba, por lo que no podía airmon-ng checkpasar. Al comentar la reaparición, mata y nunca vuelve a cazarme.


1

servicio avahi-daemon stop

Utilizar esta. Funciona de maravillas.

Luego use airmon-ng check wlo1 para verificar los servicios superpuestos. No deberías encontrar ninguno.


0

¿Qué hay de usar

sysv-rc-conf

Por estas cosas? ¡Es muy útil!

(es decir, primero instálelo con apt-get y luego ejecútelo como sudo)


0

Acabo de usar esto y funciona bien en Ubuntu 16.04

service avahi-daemon stop


Sé que el OP usa esta línea, pero para resumir quién está buscando un comando simple (como yo).


0

Solo purgarlo. O deshabilítelo en rc3.d, rc4.d y rc5.d Entonces, como su / root

apt-get purge avahi-daemon

De lo que debería estar fuera de su sistema. Verifique su /etc/rc3.d y otros y debería desaparecer desde el inicio.

No use systemd para deshabilitar, la mejor manera es eliminar o cambiar el script de ejecución a K en lugar de S en las capas de ejecución.

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.