Resolvconf -u memberikan kesalahan “resolvconf: Error: /etc/resolv.conf harus berupa symlink”

13

Saya menggunakan resolvconf untuk mengatur server DNS statis /etc/resolv.conf. Namun, ketika saya menjalankan sudo resolvconf -upembaruan /etc/resolv.confdengan informasi statis baru, saya mendapatkan kesalahan 'resolvconf: Error: /etc/resolv.conf harus berupa symlink'. Bagaimana saya bisa memperbaikinya?

Azendale
sumber

Jawaban:

21

Mudah diperbaiki. Cukup buka terminal dan jalankan perintah berikut:

sudo rm /etc/resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u
Azendale
sumber
1
Informasi ini sudah usang. /etc/resolv.conf sekarang harus disinkronkan ke ../run/resolvconf/resolv.conf.
jdthood
Klaim bahwa pesan kesalahan disebabkan oleh proses resolvconf yang terputus adalah salah.
jdthood
1
Sekarang benar. :)
jdthood
2
@ jdthood: mengapa ../dibutuhkan? Mengapa kita tidak menggunakannya sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf?
Basj
2
@ Basj Perbedaannya adalah bahwa ia membuat symlink relatif: membacanya sebagai sesuatu seperti "naik folder, lalu ke 'run', lalu ke 'resolvconf', kemudian ke file 'resolv.conf'". Saya menduga cara mana pun bekerja, tetapi mengapa hardcode jalan? Bagaimana jika Anda bekerja dengan wadah LXC (di mana root FS berada dalam folder)? Kemudian membuka tautan dari host LXC akan membawa Anda ke file yang salah jika Anda menggunakan jalur absolut.
Azendale
11

Pada Ubuntu 12.04 resolvconf adalah bagian dari sistem dasar. Anda dapat membuat ulang symlink yang dibutuhkan dengan menjalankan

dpkg-reconfigure resolvconf

atau dengan melakukan hal berikut di terminal.

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

Perhatikan bahwa pada Ubuntu 12.10 resolvconf tidak lagi dibatalkan jika /etc/resolv.conf bukan symlink. Itu memang mencetak pesan peringatan, tetapi ini bisa dibungkam dengan meletakkan garis

REPORT_ABSENT_SYMLINK=no

di / etc / default / resolvconf.

jdthood
sumber
Saya berasumsi melakukan dpkg-reconfigureperubahan perintah /etc/resolv.confkembali menjadi symlink, bahkan jika file normal di /etc/resolv.conf? Juga, apakah Anda harus menghapus /etc/resolv.confsebelum melakukan ln? Saya mendapatkan kesalahan saat mencoba pada sistem saya, tetapi sekali lagi, saya tidak memiliki kesalahan yang dijelaskan dalam pertanyaan ini ketika saya mencobanya.
Azendale
Ya, menjalankan "dpkg-reconfigure resolvconf" mengubah /etc/resolv.conf kembali ke symlink dan jika ada file di sana; ini menyimpan salinan file asli di /etc/resolvconf/resolv.conf.d/original. Sebaiknya hapus /etc/resolv.conf sebelum meletakkan symlink di sana, tetapi jika Anda menggunakan "ln -nsf" tidak perlu melakukannya. Saya baru saja mengubah jawaban untuk mengatakan "ln -nsf" bukan "ln -s".
jdthood
0

rm -r resolv.conf
nano resolv.conf di dalamnya lakukan

nameserver 1.1.1.1

nameserver 1.0.0.1

simpan dengan ctrl + X.

setelah itu lakukan: sudo apt-get install openresolv

setelah itu: reboot komputer itu akan berfungsi.

SAYA MENGHABISKAN 4HRS MENGGAMBARKAN INI. AKU AKAN BEKERJA JIKA ANDA BAIK

tarling
sumber
1
kenapa kamu berteriak?
Pierre