/etc/apt/sources.list" E212: Can't open file for writing

后端 未结 13 695
一生所求
一生所求 2020-12-22 15:06

I am trying to edit sources.list using vi editor but getting the following error while saving the file:

/etc/apt/sources.list\" E212: Can\'t open file for wr         


        
相关标签:
13条回答
  • 2020-12-22 15:29

    I got this error when I used git rm on a file in a directory.

    I was in something like ~/gitRepo/code/newFeature

    In newFeature there was only one file. I did a git rm on that file then tried to create a new file myNewFile using vi.

    Ubuntu showed me as still being inside the newFeature directory but actually git rm had removed the whole directory.

    I had to exit out of vi, navigate up one directory and then recreate the newFeature directory.

    0 讨论(0)
  • 2020-12-22 15:30

    for me worked changing the filesystem from Read-Only before running vim:

    bash-3.2# mount -o remount rw /
    
    0 讨论(0)
  • 2020-12-22 15:31
    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 has a builtin help system. I just quoted what it says to :h E212.

    You might want to edit the file as a superuser as sudo vim FILE. Or if you don't want to leave your existing vim session (and now have proper sudo rights), you can issue:

    :w !sudo tee % > /dev/null
    

    Which will save the file.

    HTH

    0 讨论(0)
  • 2020-12-22 15:33

    I referenced to Zsolt in level 2, I input:

    :w !sudo tee % > /dev/null
    

    and then in my situation, I still can't modify the file, so it prompted that add "!". so I input

    :q! 
    

    then it works

    0 讨论(0)
  • 2020-12-22 15:34

    That happens to me all the time, I open a root file for writing:

    Instead of losing all your changes and re-opening with sudo. See this demo of how to save those changes:

    One time Setup demo to create a root owned read only file for a lower user:

    sudo touch temp.txt
    sudo chown root:root temp.txt
    sudo chmod 775 temp.txt
    whoami
    el
    

    First open the file as normal user:

    vi temp.txt
    

    Then make some changes to the file, it warns you its read only. Use this command.

    :w !chmod 777 %
    

    Then write the file:

    :wq!
    

    The permissions are expanded, and the file is saved. You need the exclamation point because you are editing a root file as a lesser user.

    Explanation of what that command does:

    The :w means write the file. The bang means start interpreting as shell. chmod means change permissions, 777 means full permissions everywhere. The percent means the current file name.

    It applies the change. And it ask if you want to re-load. Press "O" for "Ok". Don't reload or you'll lose your changes.

    0 讨论(0)
  • 2020-12-22 15:34

    Try to connect as root and then edit file. This works for me

    0 讨论(0)
提交回复
热议问题