Resolvconf -u видає помилку "resolutionvconf: Помилка: /etc/resolv.conf має бути символьним посиланням"


13

Я використовую resolutionvconf для встановлення статичних серверів DNS /etc/resolv.conf. Однак, коли я запущую sudo resolvconf -uоновлення /etc/resolv.confз новою статичною інформацією, я отримую помилку 'resolutionvconf: Помилка: /etc/resolv.conf повинна бути символьною посиланням'. Як я можу це виправити?

Відповіді:


21

Це легко виправити. Просто відкрийте термінал і запустіть такі команди:

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

1
Ця інформація застаріла. /etc/resolv.conf тепер має бути позначено символом ../run/resolvconf/resolv.conf.
jdthood

Твердження про те, що повідомлення про помилку викликане перерваним запуском reslavconcon, є помилковим.
jdthood

1
Тепер це правильно. :)
jdthood

2
@jdthood: навіщо це ../потрібно? Чому ми не повинні використовувати sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf?
Бась

2
@Basj Різниця полягає в тому, що це робить відношення симпосилання: читайте його як щось на зразок "перейти в папку, потім" запустити ", потім" резолювконф ", потім у файл" резолюв.конф "". Я здогадуюсь, що будь-який спосіб працює, але чому жорсткий код шлях? Що робити, якщо ви працюєте з контейнерами LXC (де корінь FS знаходиться в папці)? Тоді відкриття посилання від хоста LXC переведе вас до неправильного файлу, якщо ви використовували абсолютний шлях.
Azendale

11

Станом на Ubuntu 12.04, резолюціяconv є частиною базової системи. Ви можете відтворити потрібне символьне посилання, запустивши

dpkg-reconfigure resolvconf

або виконавши наступне в терміналі.

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

Зауважте, що з Ubuntu 12.10 resolutionvconf більше не перериває, якщо /etc/resolv.conf не є символьним посиланням. Він надрукує попереджувальне повідомлення, але це можна заглушити, поставивши рядок

REPORT_ABSENT_SYMLINK=no

в / etc / default / resolutionvconf.


Я припускаю, що dpkg-reconfigureкоманда /etc/resolv.confповертається до символьної посилання, навіть якщо нормальний файл знаходиться на /etc/resolv.conf? Також, чи потрібно видаляти, /etc/resolv.confперш ніж робити ln? Я отримую помилку при спробі її в моїй системі, але знову ж таки, у мене не було помилки, описаної в цьому запитанні, коли я її спробував.
Azendale

Так, запуск "dpkg-recfigure resolutionvconf" змінює /etc/resolv.conf назад у симпосилання і якщо там був файл; він зберігає копію вихідного файлу за адресою /etc/resolvconf/resolv.conf.d/original. Добре зайнятись видалити /etc/resolv.conf перед тим, як поставити туди симпосилання, але якщо ви використовуєте "ln -nsf", цього робити не обов’язково. Я щойно змінив відповідь, щоб сказати "ln -nsf" замість "ln -s".
jdthood

0

rm -r resolutionv.conf
nano resolutionv.conf в ньому робити

сервер імен 1.1.1.1

сервер імен 1.0.0.1

збережіть його за допомогою ctrl + X.

після цього зробіть: sudo apt-get install openresolv

після цього: перезавантажте комп'ютер, він буде працювати.

Я СПЕЦІАЛЮВАТИ 4 ЧРУГУ ДОВІДКУ ЦЬОГО.ІТ ВІДПОВІДНО ПРАЦЮЄ, ЯКЩО ВИ РОБИТИ


1
чому ти кричиш?
Pierre.Vriens
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.