/etc/apt/sources.list" E212: No se puede abrir el archivo para escribir

Resuelto codersofthedark asked hace 12 años • 20 respuestas

Estoy intentando editar fuentes.list usando el editor vi pero aparece el siguiente error al guardar el archivo:

/etc/apt/sources.list" E212: Can't open file for writing
codersofthedark avatar Nov 24 '11 14:11 codersofthedark
Aceptado

Vim tiene un sistema de ayuda incorporado. Al ejecutarlo :h E212dentro de Vim, se imprime lo siguiente:

Por alguna razón, el archivo en el que está escribiendo no se puede crear ni sobrescribir. El motivo podría ser que no tiene permiso para escribir en el directorio o que el nombre del archivo no es válido.

Es posible que desees editar el archivo como superusuario con sudo vim FILE. O si no desea abandonar su sesión vim existente (y ahora tiene los derechos sudo adecuados), puede ejecutar:

:w !sudo tee % > /dev/null

Lo que guardará el archivo.

Zsolt Botykai avatar Nov 24 '2011 07:11 Zsolt Botykai

Eso me pasa todo el tiempo, abro un archivo raíz para escribir:

En lugar de perder todos los cambios y volver a abrir con sudo. Vea esta demostración de cómo guardar esos cambios:

Demostración de configuración única para crear un archivo de solo lectura propiedad de root para un usuario inferior:

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

Primero abra el archivo como usuario normal:

vi temp.txt

Luego haga algunos cambios en el archivo, le advierte que es de solo lectura. Utilice este comando.

:w !chmod 777 %

Luego escribe el archivo:

:wq!

Los permisos se amplían y el archivo se guarda. Necesita el signo de exclamación porque está editando un archivo raíz como usuario menor.

Explicación de lo que hace ese comando:

El :w significa escribir el archivo. El bang significa empezar a interpretarlo como concha. chmod significa cambiar permisos, 777 significa permisos completos en todas partes. El porcentaje significa el nombre del archivo actual.

Aplica el cambio. Y te pregunta si quieres recargar. Presione "O" para "Aceptar". No recargues o perderás los cambios.

Eric Leschinski avatar Dec 06 '2014 01:12 Eric Leschinski

Para mí había una solución bastante sencilla. Estaba intentando editar/crear un archivo en una carpeta que no existía. Como ya estaba en la carpeta en la que estaba intentando editar/crear un archivo.

es decirpwd folder/file

y estaba escribiendo

sudo vim folder/file

y obviamente estaba buscando la carpeta en la carpeta y no pudo guardar.

Simon avatar Feb 29 '2016 13:02 Simon