Resolvconf -u fornisce l'errore "resolvconf: Errore: /etc/resolv.conf deve essere un collegamento simbolico"


13

Uso resolvconf per impostare server DNS statici /etc/resolv.conf. Tuttavia, quando eseguo sudo resolvconf -ul'aggiornamento /etc/resolv.confcon nuove informazioni statiche, viene visualizzato l'errore "resolvconf: errore: /etc/resolv.conf deve essere un collegamento simbolico". Come posso risolvere questo problema?

Risposte:


21

È facile da risolvere. Basta aprire un terminale ed eseguire i seguenti comandi:

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

1
Questa informazione è obsoleta. /etc/resolv.conf ora deve essere collegato a ../run/resolvconf/resolv.conf.
jdthood,

L'affermazione che il messaggio di errore è causato da un'esecuzione di resolvconf interrotta è falsa.
jdthood,

1
Adesso è giusto :)
jdthood,

2
@jdthood: perché è ../necessario? Perché non dovremmo usare sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf?
Basj,

2
@Basj La differenza è che rende relativo il link simbolico: leggilo come qualcosa come "vai su una cartella, quindi su" esegui ", quindi su" resolvconf ", quindi sul file" resolv.conf "". Immagino che funzioni in entrambi i modi, ma perché hardcode un percorso? Che cosa succede se si lavora con i contenitori LXC (dove si trova il root FS in una cartella)? Quindi l'apertura del collegamento dall'host LXC ti porterà al file sbagliato se hai utilizzato un percorso assoluto.
Azendale,

11

A partire da Ubuntu 12.04 resolvconf fa parte del sistema di base. È possibile ricreare il collegamento simbolico necessario eseguendo

dpkg-reconfigure resolvconf

o effettuando le seguenti operazioni in un terminale.

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

Nota che a partire da Ubuntu 12.10 resolvconf non si interrompe più se /etc/resolv.conf non è un collegamento simbolico. Stampa un messaggio di avviso, ma questo può essere messo a tacere mettendo la linea

REPORT_ABSENT_SYMLINK=no

in / etc / default / resolvconf.


Sto assumendo che il dpkg-reconfigurecomando /etc/resolv.confritorni ad essere un collegamento simbolico, anche se è presente un file normale /etc/resolv.conf? Inoltre, devi rimuovere /etc/resolv.confprima di farlo ln? Ricevo un errore provandolo sul mio sistema, ma poi non stavo avendo l'errore descritto in questa domanda quando l'ho provato.
Azendale,

Sì, l'esecuzione di "dpkg-reconfigure resolvconf" modifica /etc/resolv.conf in un link simbolico e se c'era un file lì; salva una copia del file originale in /etc/resolvconf/resolv.conf.d/original. È una buona idea rimuovere /etc/resolv.conf prima di inserire un link simbolico lì, ma se si utilizza "ln -nsf" non è necessario farlo. Ho appena cambiato la risposta per dire "ln -nsf" invece di "ln -s".
jdthood,

0

rm -r resolv.conf
nano resolv.conf in esso fare

nameserver 1.1.1.1

nameserver 1.0.0.1

salvalo con ctrl + X.

dopodiché: sudo apt-get install openresolv

dopodiché: riavvia il computer funzionerà.

Ho speso 4 ore a causa di questo. Funzionerà sicuramente se lo fai bene


1
perché stai urlando?
Pierre.Vriens,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.