“E21: não pode fazer alterações” ao editar o resolv.conf

2

Algumas horas antes, comprei um beaglebone e agora estou tentando adicionar nameserver 8.8.8.8 a /etc/resolv.conf . No entanto, quando eu abri-lo com o vim e tentar adicionar o meu servidor de nomes, dá-me E21: não pode fazer alterações, 'modificável' está desligado. Eu mudei as permissões via chmod. chmod u+rx /etc/resolv.conf Mas nada mudou. Ainda não consigo gravar no arquivo resolv.conf. O que devo fazer?

    
por Amadeus Bachmann 12.06.2012 / 10:26

5 respostas

2

Da documentação do vim:

Se você fizer alterações em um arquivo e se esquecer de que era somente leitura, poderá ainda escrevê-lo. Adicione o ! para o comando write para forçar a escrita.

Se você realmente quiser proibir fazer alterações em um arquivo, faça o seguinte:

vim -M file

Agora, todas as tentativas de alterar o texto falharão. Os arquivos de ajuda são assim, por exemplo. Se você tentar fazer uma alteração, receberá esta mensagem de erro:

E21: Cannot make changes, 'modifiable' is off 

Você pode usar o argumento -M para configurar o Vim para funcionar no modo de visualização. Isto é somente voluntário, pois esses comandos removerão a proteção:

:set modifiable
:set write
    
por jasmines 12.06.2012 / 10:30
2

/etc/resolv.conf é de propriedade de root , portanto você deve editá-lo como root ( usando sudo ):

sudo vim /etc/resolv.conf

Você pode querer fazer o backup primeiro:

sudo cp /etc/resolv.conf /etc/resolv.conf.old

Se você preferir editá-lo graficamente, em vez de usar vim , poderá usar:

gksu gedit /etc/resolv.conf

Ou no Kubuntu:

kdesudo kate /etc/resolv.conf

Se você alterou as permissões de /etc/resolv.conf , deverá alterá-las novamente, pois as permissões padrão impedem o acesso não autorizado, permitindo o acesso autorizado conforme explicado acima.

No entanto, é provável que você realmente não tenha alterado nenhuma permissão, pois por padrão (pelo menos no Ubuntu 12.04 LTS) /etc/resolv.conf é na verdade um link simbólico para /run/resolvconf/resolv.conf .

    
por Eliah Kagan 12.06.2012 / 10:33
1

(Disclaimer: isso é baseado em pesquisas na Internet, não em experiência prática com o conselho.)

De acordo com este artigo,

  A distribuição

Ångström Linux [...] está incluída no cartão microSD   empacotado com cada Beaglebone.

Sem citar todo o artigo (parece estar muito bem escrito, a propósito) você precisa:

  1. SSH no seu Beagleboard como root.
  2. Edite /etc/network/interfaces .
  3. Adicione dns-nameservers 8.8.8.8 .
  4. Executar /etc/init.d/networking restart

Se suas configurações parecem funcionar, mas desaparecem após a reinicialização, leia este artigo sobre como configurar o Connman.

Você precisará instalar o pacote connman-tests para ativar a configuração de linha de comando do Connman e definir os servidores de nomes seguindo as instruções.

Exemplo:

./set-nameservers ethernet_405fc276b749_cable 8.8.8.8
    
por lgarzo 12.06.2012 / 11:11
1

Basta pressionar Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute os comandos abaixo.

gksudo gedit /etc/resolv.conf

Isso permitirá modificar o arquivo e salvá-lo.

Você pode tentar:

opkg update
opkg install gedit 
    
por Mitch 12.06.2012 / 10:29
0

Você pode tentar:

vim resolv.conf

Salve depois disso

rm -rf /etc/resolv.conf

Em seguida, mova o arquivo resolv.conf em / etc /

mv resolv.conf /etc/
    
por Abhimanoj Yadav 20.06.2017 / 09:58