¿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/init
parece 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 ef
muestra 2 procesos activos, ambos llamados avahi-daemon
, y el PPID
primero avahi-daemon
es 1
, de hecho , el segundo proceso es solo un hijo del primero. El PPID
= 1
es 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/service
parece 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-daemon
se 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}.d
en esta etapa, pero ahora no estoy muy seguro. ¿Qué comienza exactamente esta bestia? ¿Cómo deshabilitarlo sin apt-get remove
o 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
A
por esfuerzo!Respuestas:
Los scripts de inicio para principiantes viven en
/etc/init
donde puedes encontrarlosavahi-daemon.conf
. Todas las cosas enumeradas eninitctl list
coincidencias con scripts/etc/init
, y no son ejecutables, por lo tanto, se lasfind
perdió.Para deshabilitar un servicio controlado de Upstart, consulte el libro de cocina Upstart sobre cómo deshabilitar los servicios : agregue
#
a lastart on
línea o use archivos de anulación (ejemplo:)sudo sh -c "echo manual > /etc/init/avahi-daemon.override"
.fuente
start on
estrofa, para ser técnico. Comenté tres líneas, por ejemplo.service avahi-daemon stop
funcionó para mí en Ubuntu Gnome 15.10
fuente
Descubrí que incluso si me detengo
avahi-daemon
(yavahi-daemon.socket
), Firefox siempre lo reinicia. Sin embargo, esto funciona y deshabilita este molesto demonio permanentemente:fuente
Es posible que no necesite evitar que se inicie cuando se inicie la PC, pero tal vez evite que
respawn
lo haga cuando lo mate.Entonces, solo comente el
respawn
en/etc/init/avahi-daemon.conf
Matar ese proceso siempre fallaba, por lo que no podía
airmon-ng check
pasar. Al comentar la reaparición, mata y nunca vuelve a cazarme.fuente
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.
fuente
¿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)
fuente
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).
fuente
Solo purgarlo. O deshabilítelo en rc3.d, rc4.d y rc5.d Entonces, como su / root
apt-get purge avahi-daemon
sí
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.
fuente