vi 편집기를 사용하여 sources.list를 편집하려고하는데 파일을 저장하는 동안 다음 오류가 발생합니다.
/etc/apt/sources.list" E212: Can't open file for writing
vi 편집기를 사용하여 sources.list를 편집하려고하는데 파일을 저장하는 동안 다음 오류가 발생합니다.
/etc/apt/sources.list" E212: Can't open file for writing
답변:
For some reason the file you are writing to cannot be created or overwritten.
The reason could be that you do not have permission to write in the directory
or the file name is not valid.
Vim에는 내장 도움말 시스템이 있습니다. 방금 말한 것을 인용했습니다 :h E212
.
파일을 수퍼 유저로 편집 할 수 있습니다 sudo vim FILE
. 또는 기존 vim 세션을 종료하지 않으려는 경우 (이제 적절한 sudo 권한을 가짐) 다음을 발행 할 수 있습니다.
:w !sudo tee % > /dev/null
파일을 저장할 것입니다.
HTH
모든 변경 사항을 잃고 sudo로 다시 여는 대신. 변경 사항을 저장하는 방법에 대한이 데모를 참조하십시오.
하위 사용자를위한 루트 소유의 읽기 전용 파일을 작성하는 일회성 설치 데모 :
sudo touch temp.txt
sudo chown root:root temp.txt
sudo chmod 775 temp.txt
whoami
el
먼저 파일을 일반 사용자로여십시오 :
vi temp.txt
그런 다음 파일을 약간 변경하면 읽기 전용 경고가 표시됩니다. 이 명령을 사용하십시오.
:w !chmod 777 %
그런 다음 파일을 작성하십시오.
:wq!
권한이 확장되고 파일이 저장됩니다. 하위 사용자로 루트 파일을 편집하기 때문에 느낌표가 필요합니다.
해당 명령의 기능 설명 :
: w는 파일 쓰기를 의미합니다. 뱅은 쉘로 해석하기 시작한다는 것을 의미합니다. chmod는 권한 변경을 의미하고 777은 모든 권한을 의미합니다. 퍼센트는 현재 파일 이름을 의미합니다.
변경 사항이 적용됩니다. 그리고 다시로드 할 것인지 묻습니다. "확인"에 대해 "O"를 누릅니다. 다시로드하지 않으면 변경 사항이 손실됩니다.
vim을 실행하기 전에 파일 시스템을 읽기 전용에서 변경하는 작업을 수행했습니다.
bash-3.2# mount -o remount rw /
git rm
디렉토리의 파일을 사용할 때이 오류가 발생했습니다 .
~ / gitRepo / code / newFeature와 같은 것이 었습니다.
newFeature에는 파일이 하나만있었습니다. 내가했던 git rm
다음 VI를 사용하여 새 파일 myNewFile을 만들려고 그 파일에.
우분투는 나에게 여전히 newFeature 디렉토리 안에 있음을 보여 주었지만 실제로 git rm
전체 디렉토리를 제거했습니다.
vi를 종료하고 한 디렉토리를 탐색 한 다음 newFeature 디렉토리를 다시 작성해야했습니다.