/etc/apt/sources.list «E212: Невозможно открыть файл для записи

/etc/apt/sources.list «E212: Невозможно открыть файл для записи
На чтение
27 мин.
Просмотров
14
Дата обновления
11.11.2024

Я пытаюсь редактировать sources.list с помощью редактора vi, но при сохранении файла получаю следующую ошибку:

 /etc/apt/sources.list "E212  : Не удается открыть файл для записи  

  По какой-то причине файл, в который вы пишете, не может быть создан или перезаписан. Причина может быть в  что у вас нет разрешения на запись в каталог или имя файла недействительно.  

Vim имеет встроенную справочную систему. Я просто процитировал то, что он говорит : h E212 .

Возможно, вы захотите отредактировать файл как суперпользователь как sudo vim FILE . Или, если вы не хотите оставлять существующий сеанс vim (и теперь у вас есть соответствующие права sudo), вы можете выполнить:

 : w! sudo tee%>/dev/null  

Что сохранит файл.

HTH


Это происходит со мной все время, я открываю корневой файл для записи:

Вместо того, чтобы терять все ваши изменения и повторно открываться с помощью sudo. См. s демонстрация того, как сохранить эти изменения:

Одноразовая демонстрация установки для создания корневого файла только для чтения для нижнего пользователя:

  sudo touch temp.txtsudo chown root: root temp.txtsudo chmod 775 temp.txtwhoamiel  

Сначала откройте файл как обычный пользователь :

  vi temp.txt  

Затем внесите некоторые изменения в файл, он предупреждает вас только для чтения. Используйте эту команду.

 : w! Chmod 777%  

Затем запишите файл :

 : wq!  

Разрешения расширяются, и файл сохраняется. Вам нужен восклицательный знак, потому что вы редактируете корневой файл как меньший пользователь.

Объяснение того, что делает эта команда:

: W означает запись файла. Взрыв означает начало интерпретации как оболочку. chmod означает изменение разрешений, 777 означает полные разрешения везде. Процент означает текущее имя файла.

Применяет изменение. И он спрашивает, хотите ли вы перезагрузить. Нажмите «O» вместо «ОК». Не перезагружайте, иначе вы потеряете свои изменения.

2


Для меня было довольно простое решение. Я пытался отредактировать/создать файл в несуществующей папке. Поскольку я уже был в папке, я пытался отредактировать/создать файл.

т.е. папка/файл pwd

и набирал

  sudo vim folder/file  

и, скорее всего, он искал папку в папке и не мог сохранить.

0


Или, возможно, вы находятся на монтируемой файловой системе только для чтения

2


Я ссылался на Zsolt на уровне 2, я ввожу:

 : w! Sudo tee%>/dev/null  

, а затем в моей ситуации я по-прежнему не может изменить файл, поэтому он предложил добавить «!». поэтому я ввожу

 : q!   

тогда это работает

1


у меня сработало изменение файловой системы из режима только для чтения перед запуском vim:

  bash-3.2 # mount -o remount rw/ 


изменить пользователя на root

  sodu su -  

перейдите к и т. д.

  vi sudoers  

посмотрите для пользователя root в разделе привилегий пользователя. вы получите это как

  root ALL = (ALL: ALL) ALL  

сделайте такую ​​же запись для своего имени пользователя. если ваше имя пользователя — ‘myuser’, добавьте

  myuser ALL = (ALL: ALL) ALL  

, это будет выглядеть как

  root ALL = (ALL: ALL) ALL myuser ALL = (ALL: ALL) ALL  

сохранить. измените пользователя root на своего пользователя. теперь попробуйте то же самое, где вы столкнулись с проблемой sudoers

1


Попробуйте чтобы подключиться как root, а затем отредактировать файл. Это работает для меня


Предварительно добавьте свои команды с помощью sudo .

Например, вместо vim textfile.txt используется sudo vim textfile.txt . Это решит проблему.

1


Возможно, файл, к которому вы обращаетесь, имеет копию подкачки (или версию подкачки) уже в том же каталоге

Следовательно, сначала посмотрите, существует ли скрытый файл или нет.

Например, см. следующий тип файлов

  .system.conf.swp  

Используя команду

  ls -a  

А затем удалите его с помощью …

  rm .system.conf.swp  

Обычно я рекомендую начать использовать привилегии суперпользователя, используя …

  sudo su  


Я получил эту ошибку, когда использовал git rm для файла в каталоге.

Я был в чем-то вроде ~/gitRepo/code/newFeature

В newFeature был только один файл. Я выполнил git rm для этого файла, а затем попытался создать новый файл myNewFile с помощью vi.

Ubuntu показал, что я все еще нахожусь в каталоге newFeature, но на самом деле git rm удалил весь каталог.

Мне пришлось выйдите из vi, перейдите на один каталог вверх и заново создайте каталог newFeature.


Я получил эту ошибку, когда путь к моему каталогу неверен, убедитесь, что ваш имена каталогов и путь верны


, потому что каталог не существует.

можно использовать :! mkdir -p/etc/apt/ для создания каталога.

затем : wq


Вам просто нужен доступ к Gemfile с корневым доступом. Перед vi :

команда:

  sudo su -  

затем:

  vi ~/...  



Vim не может сохранить файл (E212)

Иногда, когда я создаю файл с помощью vim some/path/ newfile , vim позволяет мне редактировать его, только чтобы пожаловаться, когда я пытаюсь сохранить свои изменения.

  E212 Не могу открыть файл для записи.   

Это происходит только тогда, когда новый файл находится в системном каталоге.

: w! не отменяет это ошибка.

Как я могу записать текущий буфер, не сохраняя его во временном месте, выйти, а затем переименовать его с помощью sudo?


Вам будет предложено ввести пароль root, а затем сохраните изменения, как вы запросили:

 : w! Sudo tee%  

Затем введите (L) oad в командной строке, чтобы повторно загрузить файл после его сохранения. .


Добавьте эту строку в свой .vimrc :

  cmap w !!  %! sudo tee>/dev/null  

, а затем вы можете сделать

 : w !!  

, когда вы попадете в эту позицию, и он запишет файл с помощью sudo. Очень удобно.

2


Вы можете mkdir сначала, затем сохраните.

1


Если вам нужно надежное, легко запоминающееся решение и не возражайте против установки плагина, попробуйте SudoEdit.vim — редактировать файлы с помощью sudo, su или любого другого инструмента.


Если это так в Windows 7 или более поздних версиях, запустите редактор VI от имени администратора. Щелкните приложение правой кнопкой мыши и выберите «Запуск от имени администратора». Этот вопрос будет решен. Более того, ошибка связана с правами администратора.


вы можете попробовать чтобы сделать это в два этапа, сначала создайте папку some и path с помощью mkdir ~; затем вы войдете в папку path, используйте команду: sudo vim newfile. затем сохраните его


Этой проблемы можно избежать, используя «sudo» для запуска сеанса редактирования.

  sudo vi имя-файла  


В любом случае, вы можете также убедиться, что у вас достаточно места для хранения в разделе, где вы пытаетесь сохранить файл. Мне пришлось освободить место на моем домашнем диске, и это устранило проблему.


Убедитесь, что каталог, в котором вы пытаетесь сохранить файл, существует и у вас есть разрешение на редактирование файла.

Вы можете ввести : help message в Vim, чтобы получить дополнительную информацию об этом и других сообщениях об ошибках. Попробуйте выполнить поиск, набрав /E212 , как только появятся документы. Вы также можете просмотреть документацию в Интернете по адресу http://vimdoc.sourceforge.net/htmldoc/message.html и найти ее с помощью CTRL-F.

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий