/и т. д./кв/источников.список " 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.