it-swarm.com.de

Wie kann ich den Avahi-Daemon deaktivieren?

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 scheint /sbin/init einen Prozess mit dem Namen avahi-daemon zu starten.

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

als Benutzer avahi

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

ein ps -efww ef zeigt 2 aktive Prozesse, die beide avahi-daemon genannt werden, und der PPID des ersten avahi-daemon ist in der Tat 1, der zweite Prozess ist nur ein Kind von Der Erste. Das PPID = 1 lä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, und genau das scheint dieser /usr/sbin/service zu verwenden:

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 stop avahi-daemon verwenden sollte. 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 in etc als "ausführbare Datei" angesehen werden kann:

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

ich denke, ich würde Startskripte in /etc/rcN.d finden. 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 wie folgt zu sein avahi-daemon was wird bei Änderungen des Netzwerkstatus gestartet? Gibt es eine bessere Möglichkeit, automatisch auf einem System gestartete Binärdateien zu finden?

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

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 überprüfen, ob er über einen Zeitraum von einer Minute unter CPU-Auslastung funky wird.

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
39
Robottinosino

Upstart-Startskripte befinden sich in /etc/init, wo Sie avahi-daemon.conf finden. Alle in initctl list aufgelisteten Dinge stimmen mit Skripten in /etc/init überein, und sie sind nicht ausführbar, sodass Ihr find sie verpasst hat.

Informationen zum Deaktivieren eines Upstart-gesteuerten Dienstes finden Sie unter pstart-Kochbuch zum Deaktivieren von Diensten : Fügen Sie entweder # zur Zeile start on hinzu, oder verwenden Sie Überschreibungsdateien (Beispiel: Sudo sh -c "echo manual > /etc/init/avahi-daemon.override").

21
Tuminoid
Sudo systemctl disable avahi-daemon

arbeitete für mich auf Ubuntu Gnome 15.10

14
Databits

Selbst wenn ich avahi-daemon (und avahi-daemon.socket) stoppe, starte Firefox es immer neu. Dies funktioniert jedoch und deaktiviert diesen lästigen Daemon dauerhaft:

apt-get remove avahi-daemon
7
Peter

Möglicherweise müssen Sie nicht verhindern, dass der PC beim Booten gestartet wird, aber möglicherweise verhindern, dass er beim Beenden respawn wird.

Kommentieren Sie also einfach das respawn in /etc/init/avahi-daemon.conf aus.

Das Beenden dieses Prozesses ist immer fehlgeschlagen, daher konnte airmon-ng check nicht bestanden werden. Kommentiert man das Respawn aus, tötet es und kommt nie wieder, um mich zu jagen.

5
Rexford

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.

1
ARNAB BISWAS

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).

0
jpenna

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, um die Funktion zu deaktivieren. Entfernen oder ändern Sie das RunScript in den Run-Layern in K anstelle von S.

0
Apple

Wie wäre es mit

sysv-rc-conf

Für diese Sache? Es ist sehr praktisch!

(d. h. zuerst mit apt-get installieren und dann als Sudo ausführen)

0
El Sampsa