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!Respostas:
Os scripts de inicialização iniciam
/etc/init
, onde você pode encontraravahi-daemon.conf
. Todas as coisas listadasinitctl list
correspondem a scripts/etc/init
e elas não são executáveis; portanto, você asfind
perdeu.Para desativar um serviço controlado pelo Upstart, consulte o livro de receitas Upstart sobre como desativar serviços : adicione
#
àstart on
linha ou use arquivos de substituição (exemplosudo sh -c "echo manual > /etc/init/avahi-daemon.override"
:).fonte
start on
estrofe, para ser técnica. Comentei três linhas, por exemplo.service avahi-daemon stop
trabalhou para mim no Ubuntu Gnome 15.10
fonte
Descobri que, mesmo que eu pare
avahi-daemon
(eavahi-daemon.socket
), o Firefox sempre o reinicia. No entanto, isso funciona e desabilita esse daemon irritante permanentemente:fonte
Talvez você não precise interromper o processo de inicialização quando o PC inicializar, mas talvez o impeça da
respawn
mesma maneira que ocorre quando você o mata.Assim, apenas comente a
respawn
em/etc/init/avahi-daemon.conf
Matar esse processo sempre falhava, por isso não podia
airmon-ng check
passar. Comentando o reaparecimento, ele mata e nunca mais volta me caçando.fonte
serviço avahi-daemon stop
Usa isto. Faz maravilhas.
Em seguida, use airmon-ng check wlo1 para verificar serviços sobrepostos. Você não deve encontrar nenhum.
fonte
Que tal usar
sysv-rc-conf
Por essas coisas? É muito útil!
(ou seja, primeiro instale-o com o apt-get e depois execute-o como sudo)
fonte
Apenas usei isso e funciona bem no Ubuntu 16.04
service avahi-daemon stop
Eu sei que o OP usa essa linha, mas para resumir quem está procurando por um comando simples (como eu).
fonte
Apenas limpe. Ou desative-o em rc3.d, rc4.d e rc5.d. Assim como su / root
apt-get purge avahi-daemon
sim
Do que deveria estar fora do seu sistema. Verifique seu /etc/rc3.d e outros e ele deve sair da inicialização.
Não use systemd para desativar, a melhor maneira é remover ou alterar o código de execução para K em vez de S nas camadas de execução.
fonte