Resolvconf -u fornece o erro "resolvconf: Erro: /etc/resolv.conf deve ser um link simbólico"


13

Eu uso o resolvconf para ter servidores DNS estáticos configurados /etc/resolv.conf. No entanto, quando corro sudo resolvconf -upara atualizar /etc/resolv.confcom novas informações estáticas, recebo o erro 'resolvconf: Erro: /etc/resolv.conf deve ser um link simbólico'. Como posso consertar isso?

Respostas:


21

É fácil de consertar. Basta abrir um terminal e executar os seguintes comandos:

sudo rm /etc/resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u

1
Esta informação está obsoleta. O arquivo /etc/resolv.conf agora deve estar vinculado a ../run/resolvconf/resolv.conf.
Jdthood #

A alegação de que a mensagem de erro é causada por uma execução resolvconf interrompida é falsa.
Jdthood 30/10/12

1
Agora está certo. :)
jdthood 7/12/12

2
@jdthood: por que é ../necessário? Por que não devemos usar sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf?
Basj

2
@ Basj A diferença é que torna o link simbólico relativo: leia-o como algo como "vá para uma pasta, depois execute ',' execute ', depois' resolvconf 'e depois para o arquivo' resolv.conf '". Acho que funciona de qualquer maneira, mas por que codificar um caminho? E se você estiver trabalhando com contêineres LXC (onde o FS raiz está em uma pasta)? A abertura do link no host LXC levará você ao arquivo errado se você tiver usado um caminho absoluto.
Azendale 16/05

11

A partir do Ubuntu 12.04, o resolvconf faz parte do sistema base. Você pode recriar o link simbólico necessário executando

dpkg-reconfigure resolvconf

ou fazendo o seguinte em um terminal.

sudo ln -nsf ../run/resolvconf/resolv.conf /etc/resolv.conf

Observe que, a partir do Ubuntu 12.10, o resolvconf não aborta mais se /etc/resolv.conf não for um link simbólico. Ele imprime uma mensagem de aviso, mas isso pode ser silenciado colocando a linha

REPORT_ABSENT_SYMLINK=no

em / etc / default / resolvconf.


Estou assumindo que fazer o dpkg-reconfigurecomando /etc/resolv.confvoltar a ser um link simbólico, mesmo que um arquivo normal esteja em /etc/resolv.conf? Além disso, você precisa remover /etc/resolv.confantes de fazer ln? Eu recebi um erro ao tentar fazer isso no meu sistema, mas, novamente, eu não estava tendo o erro descrito nesta pergunta ao tentar.
Azendale

Sim, executar "dpkg-reconfigure resolvconf" altera o /etc/resolv.conf de volta para um link simbólico e se havia um arquivo; ele salva uma cópia do arquivo original em /etc/resolvconf/resolv.conf.d/original. É uma boa idéia remover o /etc/resolv.conf antes de colocar um link simbólico, mas se você usar "ln -nsf", não será necessário fazê-lo. Acabei de alterar a resposta para dizer "ln -nsf" em vez de "ln -s".
Jdthood #

0

rm -r resolv.conf
nano resolv.conf nele

nameserver 1.1.1.1

nameserver 1.0.0.1

salve-o com ctrl + X.

depois disso: sudo apt-get install openresolv

depois disso: reinicie o computador que funcionará.

EU PASSEI 4HRS DEBUGGANDO ESTE. CERTAMENTE FUNCIONARÁ SE VOCÊ O FAZ BEM


1
por que você está gritando?
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.