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/init
scheint 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 ef
zeigt 2 aktive Prozesse, beide aufgerufen avahi-daemon
, und der PPID
erste avahi-daemon
ist in der Tat 1
der zweite Prozess ist nur ein Kind des ersten. 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, was dies zu verwenden /usr/sbin/service
scheint:
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-daemon
Ding 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}.d
zu 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 remove
oder 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
A
für die Mühe!Antworten:
Upstart-Startskripte leben in
/etc/init
, wo Sie finden könnenavahi-daemon.conf
. Alle in aufgelisteten Dingeinitctl list
stimmen mit Skripten überein/etc/init
, und sie sind nicht ausführbar, sodass Sie siefind
verpasst haben.Informationen zum Deaktivieren eines Upstart-gesteuerten Dienstes finden Sie im Upstart-Kochbuch zum Deaktivieren von Diensten : entweder
#
zurstart on
Leitung hinzufügen oder Dateien überschreiben (Beispiel:)sudo sh -c "echo manual > /etc/init/avahi-daemon.override"
.quelle
start on
Strophe auskommentieren, um technisch zu sein. Ich habe zum Beispiel drei Zeilen auskommentiert.service avahi-daemon stop
arbeitete für mich auf Ubuntu Gnome 15.10
quelle
Ich habe festgestellt, dass Firefox das Programm immer neu startet , auch wenn ich es stoppe
avahi-daemon
(undavahi-daemon.socket
). Dies funktioniert jedoch und deaktiviert diesen lästigen Daemon dauerhaft:quelle
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
respawn
gestartet wird.Also, kommentieren Sie einfach die
respawn
in/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.quelle
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.
quelle
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)
quelle
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).
quelle
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.
quelle