/и т. д./кв/источников.список " E212: не удается открыть файл для записи


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

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

10 ответов:

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!

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

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

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

он применяет изменения. И он спрашивает, Хотите ли вы перезагрузить. Нажмите "O "для"Ok". Не перезагружайте, или вы потеряете свои изменения.

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

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

т. е. pwd folder/file

и введя

sudo vim folder/file

и довольно очевидно, что он искал в папке и не смогли спасти.

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

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

:w !sudo tee % > /dev/null

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

:q! 

затем он работает

для меня работала смена файловой системы С Read-Only перед запуском vim:

bash-3.2# mount -o remount rw /

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

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

например, смотрите для следующего типа файлов

.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.

вам просто нужно получить доступ к Gemfile с корневым доступом. Раньше vi:

:
sudo su -

затем:

vi ~/...