우분투 터미널에서 SVN 저장소의 변경 사항을 커밋 할 때이 오류를 어떻게 해결할 수 있습니까?


12

SVN 저장소에서 변경 사항을 커밋하면 Ubuntu의 터미널에서 항상 다음과 같은 문제가 발생합니다.

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

어떤 아이디어가 그것을 해결하는 방법?


보시다시피, 그것을 해결하는 방법에 대한 많은 아이디어가 있지만, 처음에는 정확히 왜 문제가 발생하는지에 달려 있습니다.
David Z

재현하려면 : sudo rm -f ~/.nano_history(파일 제거), sudo nano somefile(일부 파일을 루트로 편집), ^K sometext(일부 텍스트 검색), ^X(종료), nano somefile(일부 파일 편집) 당신은 볼 수 읽기 오류 /home/ssylee/.nano_history을 : 사용 권한이 거부되었습니다 . nano는 검색 기록을 저장하기 위해 .nano_history를 만듭니다. 파일이 sudo nano세션 중에 작성되면 루트에 속합니다 .
Iain Samuel McLean Elder

답변:


28

일반적으로을 실행하면 발생합니다 sudo nano [file]. 이것은 nano 프로세스를 루트로 실행하지만 $HOME일반 사용자의 홈 디렉토리로 설정된 상태로 유지하므로 nano가 파일 (.nano_history 파일 포함)을 작성하면 루트가 소유하며 홈 디렉토리에 배치됩니다.

다음을 실행하여이를 확인할 수 있습니다.

ls -l /home/ssylee/.nano_history

ls파일이의 소유인 것으로보고 되면 root이것이 원인 인 것으로 합리적으로 확신 할 수 있습니다. 그렇다면 다음을 실행하여 상황을 복구 할 수 있습니다.

sudo chown $USER: ~/.nano_history

또는 그 명령을 철자 :

sudo chown ssylee: /home/ssylee/.nano_history

들어가는 더 좋은 습관은 sudoedit또는 sudo -e대신에 사용하는 것입니다 sudo nano. $EDITOR편집중인 파일의 사본 에서 프로그램을 실행 한 다음 편집기가 종료 될 때 원래 파일을 원자 적으로 대체합니다 (시스템 파일을 편집 할 때 매우 유용함).

기본적으로 이것은 시작될 vi수 있지만 다음과 같이 호출하여 일시적으로 수정할 수 있습니다.

EDITOR=nano sudoedit [filename]

에서 또는 구성 $EDITOR하여 영구적으로 구성 할 수 있습니다..bashrc

EDITOR=nano

에서 /etc/environment.


4
chown $USER:기본 그룹을 적용하는 더 짧은 방법입니다.
Tobu

1
@Tobu, 감사합니다! 나는 그 트릭에 대해 몰랐다. 이를 반영하여 답변을 업데이트했습니다.
Suppressingfire

1

가장 쉬운 방법은 해당 파일을 제거하는 것입니다. 다음으로 가장 쉬운 방법은 chmod/로 읽을 수 있도록하는 것 chown입니다. 다음으로 가장 쉬운 방법은 다른 편집기를 사용하는 것입니다.


1

나는 항상 이것을 사용합니다 :
sudo chown -R username:username /home/username

권한이 엉망 일 때 문제를 해결합니다.


1

나는 오히려

ls -la /home/ssylee/.nano_history

먼저 현재 권한을 확인하십시오. 이것은 그들이 왜 처음에 잘못되었는지 알아내는 데 도움이 될 수 있습니다. ssylee가이 파일의 소유자라면 기본 umask가 손상되었을 수 있습니다.


1

.nano_history다음과 같이 파일 의 권한을 변경하십시오 .

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

끝난! 메시지가 사라졌습니다! =) 정말 간단합니다.


0

수정하려면 나노 구성 파일 / etc / nanorc를 편집하고 /home//.nano_history를 삭제해야합니다.

먼저 다음 명령으로 nanorc의 set historylog 매개 변수를 주석 처리하십시오. sudo nano / etc / nanorc

#set historylog

검색 / 대체 문자열을 저장하고 읽는 데 사용되는 ~ / .nano_history 파일을 비활성화합니다.

여전히 .nano_history 파일은 사용자 디렉토리에 남습니다. 다음과 같이이 파일을 삭제하십시오.

sudo rm .nano_history

그게 다야!

출처


이것은 아마도 사용자가하고 싶지 않은 나노 역사를 완전히 불가능하게 할 것이다.
Mxx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.