Como posso desativar o avahi-daemon e você pode me explicar como ele funciona se aparecer como um serviço, mas não está no rcN.d?
Você pode parar de ler aqui. De fato, faça a menos que você queira ENSINAR a um noob algum Ubuntu. A pergunta acima deve ser clara o suficiente para ser respondida. O resto é só eu, pedindo uma maneira mais estruturada de encontrar o caminho para o Ubuntu. Posso usar mais ou menos outros sistemas "semelhantes ao UNIX".
Eu sou iniciante, por isso, se eu agir sem sentido, considere-me seu WTF diário, mas me ajude a melhorar, por favor.
A cada inicialização, /sbin/init
parece estar lançando um processo chamadoavahi-daemon
# initctl list | grep avahi
avahi-daemon start/running, process 1280
como usuário avahi
# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
a ps -efww ef
mostra dois processos ativos, ambos chamados avahi-daemon
, e o PPID
primeiro avahi-daemon
é 1
, de fato , o segundo processo é apenas um filho do primeiro. O PPID
= 1
é o que me faz pensar que isso foi iniciado automaticamente.
Opcionalmente:
Realmente não sei como verificar corretamente o que é executado na inicialização do sistema, pensando nisso.
É assim que se obtém uma lista de serviços executados na inicialização? initctl list | sort
de qualquer maneira, parece que sou capaz de parar temporariamente esse "serviço" por meio deste comando:
service avahi-daemon stop
ou mesmo esse comando
/etc/init.d/avahi-daemon stop
diretamente, que é o que isso /usr/sbin/service
parece estar usando:
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
Quando iniciado, o script me lembra que estou controlando um serviço "Inicialização" e que devo usar a chamada mais simples stop avahi-daemon
. Acho que vou precisar aprender sobre o Upstart, mas, por enquanto, tudo o que preciso aprender é o seguinte:
como desabilito os serviços no Ubuntu?
Aqui está o que eu tentei (essa deve ser a maneira correta de fazer isso, ou não é?):
update-rc.d avahi-daemon disable
mas reclama:
System start/stop links for /etc/init.d/avahi-daemon do not exist
então fui procurar o caminho para o binário:
# 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"
que é isso:
/usr/sbin/avahi-daemon
e qualquer coisa que possa ser considerada um "arquivo executável" em etc
:
find /etc -type f -name '*avahi*' -perm -u+x
pensando em encontrar scripts de inicialização no /etc/rcN.d
. Encontrei outras coisas:
/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
parece que essa avahi-daemon
coisa está sendo lançada nas alterações de estado da rede? Existe uma maneira melhor de procurar binários iniciados automaticamente em um sistema?
Normalmente, eu teria obliterado os links simbólicos nos vários rc{3,5}.d
estágios, mas agora não tenho muita certeza. O que exatamente começa essa fera? Como desativá-lo sem apt-get remove
ou apt-get purge
?
Ele não possui muitos recursos abertos, até onde posso ver:
lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)
nem usa muitos ciclos de CPU, com base em uma rápida olhada em htop
.
Eu escrevi este artigo para ver se ele fica estranho no utilitário da CPU por um período de um minuto, e isso nunca acontece, mas deixe-me saber se há maneiras melhores de verificar isso:
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
por esforço!