Wie kann ich den Avahi-Daemon deaktivieren?

39

Wie kann ich avahi-daemon deaktivieren und mir erklären, wie es läuft, wenn es als Dienst angezeigt wird, aber nicht in rcN.d?


Sie können hier aufhören zu lesen. In der Tat, bitte tun Sie dies, es sei denn, Sie möchten ein wenig Ubuntu lernen. Die obige Frage sollte klar genug sein, um beantwortet zu werden. Der Rest ist nur meine Forderung nach einer strukturierteren Art, sich in Ubuntu zurechtzufinden. Ich kann mehr oder weniger andere "UNIX-ähnliche" Systeme verwenden.

Ich bin ein Anfänger. Wenn ich unsinnig bin, betrachte mich als deine tägliche WTF, aber hilf mir bitte, mich zu verbessern.

Bei jedem Start /sbin/initscheint ein Prozess aufgerufen zu werdenavahi-daemon

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

als Benutzer avahi

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

a ps -efww efzeigt 2 aktive Prozesse, beide aufgerufen avahi-daemon, und der PPIDerste avahi-daemonist in der Tat 1der zweite Prozess ist nur ein Kind des ersten. Das PPID= 1lässt mich denken, dass dies automatisch gestartet wurde.


Optional:

Ich weiß nicht genau, wie ich überprüfen soll, was beim Systemstart ausgeführt wird, wenn ich darüber nachdenke.

Ist dies der Weg, um eine Liste der Dienste zu erhalten, die beim Start ausgeführt werden? initctl list | sort


Auf jeden Fall kann ich diesen "Dienst" vorübergehend über den folgenden Befehl beenden:

service avahi-daemon stop

oder in der Tat diesen Befehl

/etc/init.d/avahi-daemon stop

direkt, was dies zu verwenden /usr/sbin/servicescheint:

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

Beim Start erinnert mich das Skript daran, dass ich einen "Upstart" -Dienst steuere und den einfacheren Aufruf verwenden sollte stop avahi-daemon. Ich denke, ich muss etwas über Upstart lernen, aber im Moment muss ich nur Folgendes lernen:

Wie deaktiviere ich Dienste in Ubuntu?

Folgendes habe ich versucht (dies sollte der richtige Weg sein, oder nicht?):

update-rc.d avahi-daemon disable

aber es beschwert sich:

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

Also ging ich auf die Jagd nach dem Pfad zur Binärdatei:

# 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"

welches ist das:

/usr/sbin/avahi-daemon

und alles, was als "ausführbare Datei" betrachtet werden kann in etc:

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

Ich denke, ich würde Startskripte in finden /etc/rcN.d. Ich habe stattdessen andere Dinge gefunden:

/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

scheint, dass dieses avahi-daemonDing bei Änderungen des Netzwerkstatus gestartet wird? Gibt es eine bessere Möglichkeit, automatisch auf einem System gestartete Binärdateien zu finden?

Normalerweise hätte ich die Symlinks in den verschiedenen rc{3,5}.dzu diesem Zeitpunkt ausgelöscht, aber jetzt bin ich mir nicht sicher. Was genau fängt dieses Biest an? Wie kann ich es ohne apt-get removeoder deaktivieren apt-get purge?

Es sind nicht zu viele Ressourcen offen, soweit ich sehen kann:

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

es werden auch nicht zu viele CPU-Zyklen benötigt, basierend auf einem kurzen Blick auf htop.

Ich habe diesen Einzeiler geschrieben, um zu prüfen, ob er über einen Zeitraum von einer Minute unter CPU-Auslastung funky wird, und das tut er niemals. Lassen Sie mich jedoch wissen, ob es bessere Möglichkeiten gibt, dies zu überprüfen:

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
Robottinosino
quelle
9
Afür die Mühe!
Geoff

Antworten:

22

Upstart-Startskripte leben in /etc/init, wo Sie finden können avahi-daemon.conf. Alle in aufgelisteten Dinge initctl liststimmen mit Skripten überein /etc/init, und sie sind nicht ausführbar, sodass Sie sie findverpasst haben.

Informationen zum Deaktivieren eines Upstart-gesteuerten Dienstes finden Sie im Upstart-Kochbuch zum Deaktivieren von Diensten : entweder #zur start onLeitung hinzufügen oder Dateien überschreiben (Beispiel:) sudo sh -c "echo manual > /etc/init/avahi-daemon.override".

Tuminoid
quelle
oder die ganze start onStrophe auskommentieren, um technisch zu sein. Ich habe zum Beispiel drei Zeilen auskommentiert.
Noobninja
Es ist besser zu benutzenservice avahi-daemon stop
Martijn van Wezel
16
sudo systemctl disable avahi-daemon

arbeitete für mich auf Ubuntu Gnome 15.10

Daten Bits
quelle
2
Sie können auch "sudo systemctl stop avahi-daemon" ausführen, um es sofort zu stoppen. Dies ist die eigentliche Antwort auf die Frage.
EnzoR
8

Ich habe festgestellt, dass Firefox das Programm immer neu startet , auch wenn ich es stoppe avahi-daemon(und avahi-daemon.socket). Dies funktioniert jedoch und deaktiviert diesen lästigen Daemon dauerhaft:

apt-get remove avahi-daemon
Peter
quelle
Was hat Firefox mit dieser Frage zu tun?
Mxx
2
@ Mxx Firefox löst nur den Socket aus, der Avahi neu startet. Ich musste es auch deinstallieren, damit wget und curl es nicht benutzten.
Qwertzguy
drastische Lösung, aber schnell und funktionierend!
andilabs
Lesen Sie alle Antworten, betrachteten diese als Witz, versuchten die anderen vergebens, benutzten diese schließlich und stuften sie
hoch
5

Möglicherweise müssen Sie nicht verhindern, dass es beim Starten des PCs gestartet wird, aber Sie müssen möglicherweise verhindern, dass es beim Beenden nicht mehr respawngestartet wird.

Also, kommentieren Sie einfach die respawnin/etc/init/avahi-daemon.conf

Das Beenden dieses Prozesses schlug immer fehl und konnte nicht airmon-ng checküberstehen. Kommentiert man das Respawn aus, tötet es und kommt nie wieder, um mich zu jagen.

KhoPhi
quelle
1

Service Avahi-Daemon zu stoppen

Benutze das. Wirkt Wunder.

Verwenden Sie dann airmon-ng check wlo1, um überlappende Dienste zu überprüfen. Du solltest keine finden.

ARNAB BISWAS
quelle
0

Wie wäre es mit

sysv-rc-conf

Für diese Sache? Es ist sehr praktisch!

(dh erst mit apt-get installieren und dann als sudo ausführen)

El Sampsa
quelle
0

Ich habe es gerade benutzt und es funktioniert gut unter Ubuntu 16.04

service avahi-daemon stop


Ich weiß, dass das OP diese Zeile verwendet, aber um zusammenzufassen, wer nach einem einfachen Befehl sucht (wie ich).

jpenna
quelle
0

Lass es einfach weg. Oder deaktiviere es in rc3.d, rc4.d und rc5.d Also als su / root

Apt-Get Purge Avahi-Daemon

Ja

Dann sollte es von Ihrem System entfernt sein. Überprüfen Sie Ihre /etc/rc3.d und andere und es sollte vom Start weg sein.

Verwenden Sie systemd nicht zum Deaktivieren. Am besten entfernen oder ändern Sie das Runscript in den Run-Layern in K anstelle von S.

Apfel
quelle