web-dev-qa-db-fra.com

Comment puis-je désactiver avahi-daemon?

Comment puis-je désactiver avahi-daemon et pouvez-vous m'expliquer comment il s'exécute s'il apparaît en tant que service mais que ce n'est pas dans rcN.d?


Vous pouvez arrêter de lire ici. En fait, s'il vous plaît, faites-le sauf si vous souhaitez ENSEIGNER à un Ubuntu. La question ci-dessus devrait être suffisamment claire pour qu'on y réponde. Le reste, ce n'est que moi qui appelle à une manière plus structurée de se repérer dans Ubuntu. Je peux plus ou moins utiliser d'autres systèmes "de type UNIX".

Je suis un débutant, donc si j'agis avec absurdité, considérez-moi votre WTF quotidien, mais aidez-moi à m'améliorer, s'il vous plaît.

/sbin/init semble lancer un processus appelé avahi-daemon

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

en tant qu'utilisateur avahiname__

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

un ps -efww ef montre 2 processus actifs, les deux appelés avahi-daemon et le PPIDdu premier avahi-daemon est en effet 1, le second processus n’est qu’un enfant du premier. Le PPID= 1 est ce qui me fait penser que cela a été démarré automatiquement.


éventuellement:

Je ne sais pas vraiment comment vérifier correctement ce qui est exécuté au démarrage du système, en y réfléchissant.

Est-ce le moyen d'obtenir une liste des services qui s'exécutent au démarrage?initctl list | sort


de toute façon, il semble que je puisse arrêter temporairement ce "service" avec cette commande:

service avahi-daemon stop

ou bien cette commande

/etc/init.d/avahi-daemon stop

directement, ce que ce /usr/sbin/service semble utiliser:

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

Une fois lancé, le script me rappelle que je contrôle un service "Upstart" et que je devrais utiliser l'appel plus simple, stop avahi-daemon. Je suppose que j'aurai besoin de connaître Upstart, mais pour le moment, tout ce que j'ai besoin d'apprendre est la suivante:

comment désactiver les services dans Ubuntu?

Voici ce que j'ai essayé (ce devrait être la bonne façon de le faire, ou n'est-ce pas?):

update-rc.d avahi-daemon disable

mais il se plaint:

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

alors je suis allé à la recherche du chemin de la binaire:

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

qui est ceci:

/usr/sbin/avahi-daemon

et tout ce qui pourrait être considéré comme un "fichier exécutable" dans etcname__:

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

pensant que je trouverais des scripts de démarrage dans /etc/rcN.d. J'ai trouvé d'autres choses à la place:

/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

semble que cette chose avahi-daemon est en cours de lancement sur les changements d'état du réseau? Existe-t-il un meilleur moyen de rechercher les fichiers binaires démarrés automatiquement sur un système?

J'aurais normalement effacé les liens symboliques dans les divers rc{3,5}.d à ce stade, mais je ne suis plus très sûr de le savoir. Qu'est-ce qui commence exactement cette bête? Comment le désactiver sans apt-get remove ou apt-get purge?

Autant que je sache, il n’ya pas trop de ressources ouvertes:

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

il n'utilise pas non plus trop de cycles de processeur, d'après un rapide coup d'œil sur htopname__.

J'ai écrit ce document pour voir s'il fonctionnait mal avec une utilisation du processeur pendant une minute, et cela ne se produisait jamais, mais laissez-moi savoir s'il existe de meilleurs moyens de vérifier cela:

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

Les scripts de démarrage par défaut se trouvent dans /etc/init, où vous pouvez trouver avahi-daemon.conf. Tous les éléments énumérés dans initctl list correspondent aux scripts de /etc/init et ils ne sont pas exécutables. Par conséquent, votre find les a manqués.

Pour désactiver un service contrôlé Upstart, voir Livre de recettes Upstart sur la désactivation de services : ajoutez soit # à la ligne start on ou utilisez des fichiers de remplacement (exemple: Sudo sh -c "echo manual > /etc/init/avahi-daemon.override").

21
Tuminoid
Sudo systemctl disable avahi-daemon

a travaillé pour moi sur Ubuntu Gnome 15.10

14
Databits

J'ai constaté que même si j'arrête avahi-daemon (et avahi-daemon.socket), Firefox le redémarre toujours. Cependant, cela fonctionne et désactive ce démon ennuyeux de manière permanente:

apt-get remove avahi-daemon
7
Peter

Vous n’aurez peut-être pas besoin de l’empêcher de démarrer lors du démarrage de votre ordinateur, mais évitez peut-être de le remplacer par le nom respawn.

Alors, commentez le respawn dans /etc/init/avahi-daemon.conf

Tuer ce processus a toujours échoué, nous n'avons donc pas réussi à obtenir airmon-ng check. Commentant le respawning, il tue et ne revient jamais pour me chercher.

5
Rexford

service avahi-daemon stop

Utilisez ceci. Fonctionne à merveille.

Puis utilisez airmon-ng check wlo1 pour vérifier les services qui se chevauchent. U devrait en trouver aucun.

1
ARNAB BISWAS

Je viens de l'utiliser et ça fonctionne très bien sur Ubuntu 16.04

service avahi-daemon stop


Je sais que le PO utilise cette ligne, mais pour résumer pour qui recherche une commande simple (comme moi).

0
jpenna

Il suffit de le purger. Ou désactivez-le dans rc3.d, rc4.d et rc5.d Donc, comme su/root

apt-get purge avahi-daemon

oui

Cela devrait être hors de votre système. Vérifiez votre /etc/rc3.d et les autres et il devrait être parti depuis le démarrage.

Ne pas utiliser systemd pour désactiver, le meilleur moyen consiste à supprimer ou à modifier le script d’exécution en K au lieu de S dans les couches d’exécution.

0
Apple

Comment utiliser

sysv-rc-conf

Pour ces choses? C'est très pratique!

(c'est-à-dire, installez-le d'abord avec apt-get puis exécutez-le sous Sudo)

0
El Sampsa