Como posso resolver este erro quando recebo alterações em um repositório SVN do terminal do Ubuntu?

12

Quando eu faço alterações em um repositório SVN, sempre me deparo com o seguinte problema no terminal no Ubuntu:

Error reading /home/ssylee/.nano_history: Permission denied

Alguma idéia de como resolvê-lo?

    
por stanigator 04.07.2010 / 07:45

6 respostas

28

Isso geralmente é causado pela execução de sudo nano [file] . Isso executa o processo nano como root, mas deixa $HOME definido para o diretório home do usuário regular, portanto, se nano criar qualquer arquivo (incluindo o arquivo .nano_history), ele será de propriedade root e colocado em seu diretório inicial.

Você pode verificar isso executando:

ls -l /home/ssylee/.nano_history

Se ls informar que o arquivo pertence a root , você pode estar razoavelmente seguro de que essa foi a causa. Se for, a situação pode ser reparada executando:

sudo chown $USER: ~/.nano_history

ou para soletrar esse comando:

sudo chown ssylee: /home/ssylee/.nano_history

Um hábito melhor para entrar é usar sudoedit ou sudo -e em vez de sudo nano . Isso executa o programa $EDITOR em uma cópia do arquivo que está sendo editado e, em seguida, substitui atomicamente o arquivo original quando o editor sai (o que é muito útil ao editar arquivos do sistema).

Por padrão, isso pode lançar vi , mas você pode corrigir isso temporariamente chamando-o da seguinte forma:

EDITOR=nano sudoedit [filename]

Você pode configurar permanentemente $EDITOR no seu .bashrc ou colocando

EDITOR=nano

em /etc/environment .

    
por 04.07.2010 / 15:13
1

O mais fácil é remover o arquivo em questão. A próxima forma mais fácil é torná-lo legível com chmod / chown . O próximo mais fácil é usar um editor diferente.

    
por 04.07.2010 / 07:47
1

Eu sempre uso isso:
sudo chown -R username:username /home/username

Ele resolve o problema quando as permissões estão desarrumadas.

    
por 04.07.2010 / 07:48
1

Eu prefiro fazer um

ls -la /home/ssylee/.nano_history

primeiro, para ver as permissões atuais. Isso pode ajudá-lo a descobrir por que eles erraram em primeiro lugar. Se ssylee é o proprietário deste arquivo, talvez você tenha umask padrão quebrada?

    
por 04.07.2010 / 08:16
1

Basta alterar as permissões do arquivo .nano_history da seguinte forma:

sudo chown youruser:yourgroup /home/<username>/.nano_history

FEITO! A mensagem acabou! =) Realmente é simples assim.

    
por 22.05.2015 / 23:47
0

A correção requer a edição do arquivo de configuração nano / etc / nanorc e a exclusão de / home //. nano_history.

Primeiro, comente o parâmetro set historylog do nanorc com este comando: sudo nano / etc / nanorc

#set historylog

Isso desativará o arquivo ~ / .nano_history usado para salvar e ler strings de pesquisa / substituição.

Isso ainda deixa o arquivo .nano_history em seu diretório de usuários. Exclua este arquivo da seguinte forma:

sudo rm .nano_history

É isso!

Fontes

    
por 01.08.2013 / 17:47