Comment puis-je désactiver avahi-daemon et pouvez-vous m'expliquer comment il fonctionne 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 à moins que vous vouliez enseigner un noob certains Ubuntu. La question ci-dessus doit être suffisamment claire pour qu'on puisse y répondre. Le reste est juste pour moi de réclamer une manière plus structurée de trouver son chemin autour d'Ubuntu. Je peux plus ou moins utiliser d'autres systèmes "UNIX-like".
Je suis un débutant, donc si j'agis de manière absurde, considérez-moi votre quotidien WTF mais aidez-moi à m'améliorer, s'il vous plaît.
A chaque démarrage, /sbin/init
semble 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)
un ps -efww ef
affiche 2 processus actifs, tous deux appelés avahi-daemon
, et le PPID
du premier avahi-daemon
est en effet 1
, le second processus est juste un enfant du premier. Le PPID
= 1
est ce qui me fait penser que cela a été démarré automatiquement.
Facultativement:
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 façon d'obtenir une liste des services qui s'exécutent au démarrage? initctl list | sort
De toute façon, il semble que je sois capable d'arrêter temporairement ce "service" via cette commande:
service avahi-daemon stop
ou même 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"
Lors du lancement, 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 je devrai apprendre à propos de Upstart mais pour l'instant, tout ce que j'ai besoin d'apprendre c'est ceci:
Comment puis-je désactiver les services dans Ubuntu?
Voici ce que j'ai essayé (cela 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
donc je suis allé à la recherche du chemin d'accès au 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 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 lancée sur les changements d'état du réseau? Existe-t-il un meilleur moyen de rechercher automatiquement les binaires démarrés sur un système?
J'aurais normalement oblitéré les liens symboliques dans les différents rc{3,5}.d
à ce stade mais maintenant je ne suis pas trop sûr. Que 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 beaucoup 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, sur la base d’un rapide coup d’œil à htop
.
J'ai écrit ce one-liner pour voir si cela pouvait être génial sur une utilisation CPU en une minute, et ça ne le fait jamais, mais faites-moi savoir s'il existe de meilleures façons 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