"E21: невозможно внести изменения" при редактировании resolv.conf
Несколькими часами ранее я купил биглебон и теперь пытаюсь добавить nameserver 8.8.8.8 в /etc/resolv.conf, Однако, когда я открываю его с помощью vim и пытаюсь добавить свой сервер имен, он дает мне E21: не может вносить изменения, "модифицируемый" выключен. Я изменил разрешения через chmod. chmod u+rx /etc/resolv.conf Но ничего не изменилось. Я все еще не могу записать в файл resolv.conf. Что я должен делать?
5 ответов
Из документации vim:
Если вы внесли изменения в файл и забыли, что он доступен только для чтения, вы все равно можете его записать. Добавить! на команду записи, чтобы заставить запись.
Если вы действительно хотите запретить вносить изменения в файл, сделайте это:
vim -M file
Теперь каждая попытка изменить текст не удастся. Например, файлы справки выглядят так. Если вы попытаетесь внести изменение, вы получите это сообщение об ошибке:
E21: Cannot make changes, 'modifiable' is off
Вы можете использовать аргумент -M, чтобы настроить Vim для работы в режиме просмотра. Это только добровольно, так как эти команды снимают защиту:
:set modifiable
:set write
/etc/resolv.conf принадлежит rootпоэтому вы должны отредактировать его как root ( используяsudo):
sudo vim /etc/resolv.conf
Вы могли бы хотеть поддержать это сначала хотя:
sudo cp /etc/resolv.conf /etc/resolv.conf.old
Если вы предпочитаете редактировать его графически, то вместо использования vim, ты можешь использовать:
gksu gedit /etc/resolv.conf
Или на Кубунту:
kdesudo kate /etc/resolv.conf
Если вы изменили /etc/resolv.confРазрешения, вы должны изменить их обратно, так как разрешения по умолчанию предотвращают несанкционированный доступ при разрешении авторизованного доступа, как описано выше.
Однако, скорее всего, вы не меняли никаких прав доступа, так как по умолчанию (по крайней мере, в Ubuntu 12.04 LTS) /etc/resolv.conf на самом деле символическая ссылка на /run/resolvconf/resolv.conf,
Просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команды ниже.
gksudo gedit /etc/resolv.conf
Это позволит вам изменить файл и сохранить его.
Ты можешь попробовать:
opkg update
opkg install gedit
(Отказ от ответственности: это основано на интернет-исследованиях, а не на практическом опыте работы с Правлением.)
Согласно этой статье,
Английский дистрибутив [...] Linux входит в состав карты microSD, прилагаемой к каждому Beaglebone.
Не цитируя всю статью (кажется, она написана очень хорошо), вам необходимо:
- SSH в вашу Beagleboard как корень.
- редактировать
/etc/network/interfaces, - добавлять
dns-nameservers 8.8.8.8, - Бежать
/etc/init.d/networking restart
Если ваши настройки, кажется, работают, но после перезагрузки пропадают, прочитайте эту статью о настройке Connman.
Вам нужно будет установить connman-tests пакет, чтобы включить конфигурацию командной строки Connman, и установить серверы имен, следуя инструкциям.
Пример:
./set-nameservers ethernet_405fc276b749_cable 8.8.8.8
Ты можешь попробовать:
vim resolv.conf
Сохраните это после этого
rm -rf /etc/resolv.conf
Затем переместите файл resolv.conf в /etc/
mv resolv.conf /etc/