/и т. д./кв/источников.список " E212: не удается открыть файл для записи
Я пытаюсь редактировать источники.список с помощью редактора vi, но при сохранении файла появляется следующая ошибка:
/etc/apt/sources.list" E212: Can't open file for writing
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". Не перезагружайте, или вы потеряете свои изменения.
для меня было довольно простое решение. Я пытался изменить/создать файл в папке, которая не существует. Как я уже был в папке я пытался изменить/создать файл.
т. е.
pwd folder/fileи введя
sudo vim folder/fileи довольно очевидно, что он искал в папке и не смогли спасти.
я ссылался на 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.