Minha rede sem fio possui erros de DNS intermitentes, como reinicio o gerenciador de rede em 15.04?

1

Meu sistema sem fio é um pouco problemático no Ubuntu, de vez em quando o DNS vai cortar sem motivo, e eu preciso executar sudo restart network-manager para realmente corrigi-lo.

No entanto, eu acabei de atualizar para o 15.04, e depois de experimentar o problema do DNS novamente, tentei reiniciar o gerenciador de rede - no entanto, fui recebido com o erro restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused

Eu vi outra questão do AskUbuntu que dizia que o problema estava relacionado ao systemd vs upstart, e que para consertar eu poderia reinstalar o upstart. Eu fiz isso, usando o comando

sudo apt-get install upstart-sysv

No entanto, isso não parece corrigir o fato de eu não poder reiniciar o gerenciador de rede.

Minha pergunta é dupla - se necessário, como posso reverter as alterações que fiz no meu sistema instalando o upstart e como posso fazer para que eu possa realmente reiniciar o gerenciador de rede?

Como alternativa, aceito alguma ajuda para resolver meus erros de DNS, mas historicamente ninguém realmente conseguiu me ajudar com isso.

    
por pipsqueaker 11.05.2015 / 01:47

2 respostas

1

O sistema de gerenciamento de serviços mudou.

Todo conjunto de ferramentas de gerenciamento de sistemas possui utilitários próprios. O utilitário que você está acostumado a usar é um dos que vêm com o upstart, que é um shim trivial para initctl restart . Mas esta é a versão 15. do Ubuntu. Você não está mais usando o upstart.

Você está usando o systemd e os comandos de controle de serviço são subcomandos de systemctl em vez de initctl . Assim, os serviços são iniciados com systemctl start , interrompidos com systemctl stop , ativados com systemctl enable , desativados com systemctl disable , consultados com systemctl status e reiniciados com systemctl restart .

upstart já estava lá.

O Upstart já estava instalado no seu sistema. Caso contrário, seu programa restart não teria sido executado e você nem teria visto suas mensagens de erro. Ele simplesmente não estava sendo executado como o sistema de gerenciamento de sistema ativo.

A instalação do pacote upstart-sysv está usando uma marreta para quebrar uma noz. Você pode alternar para upstart na mosca no menu GRUB . Fazer isso neste caso não o colocaria na bagunça em que você está agora, onde agora você quer voltar . De fato, mudar para o iniciante é usar uma marreta para quebrar uma noz, quando tudo o que você realmente precisava fazer era aprender os comandos do systemd , que não são tão diferentes dos initctl .

As notas de versão dizem que a instalação desse pacote removeu outras duas. Então, obviamente, você precisa instalar os dois outros novamente. ☺

killall é mais uma marreta.

Como o nome sugere, não discrimina e apenas mata tudo por um nome específico. Você não precisa disso, mesmo com o upstart . Tanto o systemd quanto o upstart rastreiam exatamente quais processos eles precisam eliminar para reiniciar os serviços, e somente esses serviços, porque eles geraram os processos em primeiro lugar. Se você tiver até gerentes de serviços razoavelmente decentes no seu sistema, então você nunca deve se aproximar de coisas com killall . Basta usar os comandos fornecidos pelos conjuntos de ferramentas de gerenciamento de serviços.

Por motivos semelhantes, sudo NetworkManager é outro clanger. Isso iniciará o NetworkManager no contexto de execução incorreto. Novamente, use os comandos do conjunto de ferramentas de gerenciamento de serviço para iniciar os daemons.

Leitura adicional

por JdeBP 11.05.2015 / 09:45
0

A partir de 15.04, o Ubuntu agora está usando o systemd, e não o upstart, similar à maioria dos outros lançamentos de distro agora. Não instale o upstart e execute comandos iniciais para manipular serviços, a menos que você realmente saiba o que está fazendo. Se você tiver o upstart instalado, recomendo desinstalá-lo.

Para reiniciar o gerenciador de rede como não-raiz, já que ele é executado como um processo daemon:

sudo killall NetworkManager && sudo NetworkManager

deve funcionar bem

    
por theferrit32 11.05.2015 / 02:55