Comment puis-je désactiver avahi-daemon?

39

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.

À chaque démarrage, /sbin/initsemble lancer un processus appeléavahi-daemon

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

en tant qu'utilisateur avahi

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

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


En option:

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 la manière d'obtenir une liste de 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 cela /usr/sbin/servicesemble 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'invocation 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 etc:

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

pensant trouver 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 avahi-daemonchose 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 différents rc{3,5}.dà ce stade mais maintenant je ne suis pas trop sûr. Qu'est-ce qui commence exactement cette bête? Comment le désactiver sans apt-get removeou 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`)

pas plus qu’il n’utilise trop de cycles de traitement, basé sur un rapide coup d’œil htop.

J'ai écrit ce document pour voir s'il fonctionnait mal avec une utilisation du processeur en l'espace d'une minute, mais ce n'est jamais le cas, 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
Robottinosino
la source
9
Apour l'effort!
Geoff

Réponses:

22

Les scripts de démarrage Upstart vivent dans /etc/init, où vous pouvez les trouver avahi-daemon.conf. Toutes les choses listées initctl listcorrespondent aux scripts dans /etc/init, et ils ne sont pas exécutables, donc vous findles avez ratés.

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

Tuminoïde
la source
ou commentez toute la start onstrophe, pour être technique. J'ai commenté trois lignes, par exemple.
noobninja
Il vaut mieux utiliserservice avahi-daemon stop
Martijn van Wezel
16
sudo systemctl disable avahi-daemon

a travaillé pour moi sur Ubuntu Gnome 15.10

Bits de données
la source
2
Vous pouvez également exécuter "sudo systemctl stop avahi-daemon" pour l'arrêter immédiatement. C'est la vraie réponse à la question.
EnzoR
8

J'ai trouvé 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
Peter
la source
Qu'est-ce que Firefox a à voir avec cette question?
Mxx
2
@Mxx firefox ne déclenche que le socket qui redémarre Avahi. Je devais aussi le désinstaller pour que wget et curl ne l'utilisent pas.
Qwertzguy
solution drastique, mais rapide et efficace!
andilabs
Lire toutes les réponses, considéré celui-ci comme une blague, essayé les autres en vain, finalement utilisé celui-ci et voté voté
golimar
5

Vous n’avez peut-être pas besoin de l’empêcher de démarrer lors du démarrage de votre ordinateur, mais peut-être de l’empêcher respawncomme il le fait lorsque vous le tuez.

Ainsi, tout commentaire le respawndans/etc/init/avahi-daemon.conf

Tuer ce processus a toujours échoué, donc je ne pouvais pas airmon-ng checkpasser. Commentant le respawning, il tue et ne revient jamais pour me chercher.

KhoPhi
la source
1

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.

ARNAB BISWAS
la source
0

Comment utiliser

sysv-rc-conf

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

(c'est-à-dire, installez-le d'abord avec apt-get puis lancez-le en tant que sudo)

El Sampsa
la source
0

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

jpenna
la source
0

Il suffit de le purger. Ou désactivez-le dans rc3.d, rc4.d et rc5.d Ainsi en tant que 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.

Pomme
la source