Come posso disabilitare avahi-daemon?


39

Come posso disabilitare avahi-daemon e puoi spiegarmi come funziona se appare come un servizio ma non è in rcN.d?


Puoi smettere di leggere qui. In effetti, per favore fallo a meno che tu non voglia INSEGNARE un po 'di Ubuntu. La domanda di cui sopra dovrebbe essere sufficientemente chiara per ricevere una risposta. Il resto sono solo io a chiedere un modo più strutturato di orientarsi su Ubuntu. Posso più o meno usare altri sistemi "simili a UNIX".

Sono un principiante, quindi se agisco in modo insensato, considerami il tuo WTF quotidiano ma aiutami a migliorare, per favore.

Ad ogni avvio, /sbin/initsembra avviare un processo chiamatoavahi-daemon

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

come utente avahi

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

a ps -efww efmostra 2 processi attivi, entrambi chiamati avahi-daemon, e il PPIDprimo avahi-daemonè effettivamente 1, il secondo processo è solo un figlio del primo. Il PPID= 1è ciò che mi fa pensare che questo sia stato avviato automaticamente.


opzionalmente:

Non so davvero come controllare correttamente cosa viene eseguito all'avvio del sistema, a pensarci.

È questo il modo per ottenere un elenco di servizi eseguiti all'avvio? initctl list | sort


comunque, mi sembra di essere in grado di interrompere temporaneamente questo "servizio" tramite questo comando:

service avahi-daemon stop

o davvero questo comando

/etc/init.d/avahi-daemon stop

direttamente, che è ciò che /usr/sbin/servicesembra utilizzare:

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

Una volta lanciato, lo script mi ​​ricorda che sto controllando un servizio "Upstart" e che dovrei usare la chiamata più semplice stop avahi-daemon. Immagino che dovrò conoscere Upstart ma per ora, tutto quello che devo imparare è questo:

come disabilitare i servizi in Ubuntu?

Ecco cosa ho provato (questo dovrebbe essere il modo corretto di farlo, o no?):

update-rc.d avahi-daemon disable

ma si lamenta:

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

così sono andato a caccia del percorso per il 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"

che è questo:

/usr/sbin/avahi-daemon

e tutto ciò che potrebbe essere considerato un "file eseguibile" in etc:

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

pensando che avrei trovato gli script di avvio in /etc/rcN.d. Ho trovato invece altre cose:

/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

sembra che questa avahi-daemoncosa venga lanciata sui cambiamenti di stato della rete? Esiste un modo migliore per dare la caccia ai binari avviati automaticamente su un sistema?

Normalmente avrei cancellato i collegamenti simbolici nei vari rc{3,5}.din questa fase, ma ora non sono troppo sicuro. Cosa inizia esattamente questa bestia? Come disabilitarlo senza apt-get removeo apt-get purge?

Non ha troppe risorse aperte, per quanto posso vedere:

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

né utilizza troppi cicli della CPU, basandosi su una rapida occhiata a htop.

Ho scritto questo one-liner per vedere se va in modo anomalo sull'utilità CPU per un periodo di un minuto, e non lo fa mai, ma fammi sapere se ci sono modi migliori per verificare che:

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
Aper sforzo!
Geoff,

Risposte:


22

Gli script di avvio Upstart vivono in /etc/init, dove puoi trovare avahi-daemon.conf. Tutte le cose elencate initctl listcorrispondono agli script /etc/inite non sono eseguibili, quindi ti sei findperso.

Per disabilitare un servizio controllato Upstart, consultare Ricettario Upstart sulla disabilitazione dei servizi : aggiungere #alla start onriga o utilizzare i file di override (esempio:) sudo sh -c "echo manual > /etc/init/avahi-daemon.override".


o commentare l'intera start onstrofa, per essere tecnico. Ho commentato tre righe, per esempio.
Noobninja,

È meglio usareservice avahi-daemon stop
Martijn van Wezel il

16
sudo systemctl disable avahi-daemon

ha funzionato per me su Ubuntu Gnome 15.10


2
Puoi anche eseguire "sudo systemctl stop avahi-daemon" per fermarlo immediatamente. Questa è la vera risposta alla domanda.
EnzoR,

8

Ho scoperto che anche se mi fermo avahi-daemon(e avahi-daemon.socket), Firefox lo riavvia sempre. Tuttavia, funziona e disabilita permanentemente questo fastidioso demone:

apt-get remove avahi-daemon

Cosa c'entra Firefox con questa domanda?
Mxx,

2
@Mxx firefox attiva solo il socket che riavvia Avahi. Ho dovuto disinstallarlo pure per fare in modo che wget e curl non lo usassero.
qwertzguy,

soluzione drastica, ma veloce e funzionante!
andilabs,

Leggi tutte le risposte, considerato questo uno scherzo, provato inutilmente gli altri, finalmente usato questo e votato a fondo
golimar

5

Potrebbe non essere necessario impedirne l'avvio all'avvio del PC, ma forse impedirgli di farlo respawnquando lo uccidi.

Quindi, basta commentare la respawna/etc/init/avahi-daemon.conf

Uccidere quel processo è sempre fallito, quindi non è riuscito airmon-ng checka passare. Commentando il respawning, uccide e non torna più a caccia di me.


1

servizio avahi-daemon stop

Usa questo. Funziona a meraviglia.

Quindi utilizzare airmon-ng check wlo1 per verificare i servizi sovrapposti. Non dovresti trovarne nessuno.


0

Che ne dici di usare

sysv-rc-conf

Per queste cose? È molto utile!

(cioè prima installalo con apt-get e poi eseguilo come sudo)


0

Ho appena usato questo e funziona benissimo su Ubuntu 16.04

service avahi-daemon stop


So che l'OP usa questa linea, ma per riassumere chi sta cercando un comando semplice (come me).


0

Purificalo. O disabilitarlo in rc3.d, rc4.d e rc5.d Quindi su / root

apt-get purge avahi-daemon

Di quanto dovrebbe essere fuori dal tuo sistema. Controlla il tuo /etc/rc3.d e altri e dovrebbe sparire all'avvio.

Non usare systemd per disabilitare il modo migliore è rimuovere o modificare il runscript in K invece di S nei livelli di esecuzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.