Como posso desativar o avahi-daemon?

39

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/initparece 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 efmostra dois processos ativos, ambos chamados avahi-daemon, e o PPIDprimeiro 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/serviceparece 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-daemoncoisa 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}.destágios, mas agora não tenho muita certeza. O que exatamente começa essa fera? Como desativá-lo sem apt-get removeou 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
Robottinosino
fonte
9
Apor esforço!
Geoff

Respostas:

22

Os scripts de inicialização iniciam /etc/init, onde você pode encontrar avahi-daemon.conf. Todas as coisas listadas initctl listcorrespondem a scripts /etc/inite elas não são executáveis; portanto, você as findperdeu.

Para desativar um serviço controlado pelo Upstart, consulte o livro de receitas Upstart sobre como desativar serviços : adicione #à start onlinha ou use arquivos de substituição (exemplo sudo sh -c "echo manual > /etc/init/avahi-daemon.override":).

Tuminoide
fonte
ou comentar toda a start onestrofe, para ser técnica. Comentei três linhas, por exemplo.
noobninja
É melhor usarservice avahi-daemon stop
Martijn van Wezel 13/03
16
sudo systemctl disable avahi-daemon

trabalhou para mim no Ubuntu Gnome 15.10

Bits de dados
fonte
2
Você também pode executar "sudo systemctl stop avahi-daemon" para pará-lo imediatamente. Esta é a verdadeira resposta para a pergunta.
EnzoR
8

Descobri que, mesmo que eu pare avahi-daemon(e avahi-daemon.socket), o Firefox sempre o reinicia. No entanto, isso funciona e desabilita esse daemon irritante permanentemente:

apt-get remove avahi-daemon
Pedro
fonte
O que o firefox tem algo a ver com esta pergunta?
Mxx #
2
O @Mxx firefox apenas aciona o soquete que reinicia o Avahi. Eu tive que desinstalá-lo também, a fim de fazer wget e curl não usá-lo.
Qwertzguy
solução drástica, mas rápida e funcional!
andilabs
Leia todas as respostas, considerou esta uma piada, tentou as outras sem sucesso, finalmente a usou e a aprovou
golimar 5/11
5

Talvez você não precise interromper o processo de inicialização quando o PC inicializar, mas talvez o impeça da respawnmesma maneira que ocorre quando você o mata.

Assim, apenas comente a respawnem/etc/init/avahi-daemon.conf

Matar esse processo sempre falhava, por isso não podia airmon-ng checkpassar. Comentando o reaparecimento, ele mata e nunca mais volta me caçando.

KhoPhi
fonte
1

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.

ARNAB BISWAS
fonte
0

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)

El Sampsa
fonte
0

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

jpenna
fonte
0

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.

maçã
fonte