vi ubuntu-11.04

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



ubuntu-11.04 (9)

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

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


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

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

Una única demostración de instalación para crear un archivo de solo lectura propiedad de la raíz para un usuario inferior:

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

Primero abre el archivo como usuario normal:

vi temp.txt

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

:w !chmod 777 %

Luego escribe el archivo:

:wq!

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

Explicación de lo que hace ese comando:

The: w significa escribir el archivo. El bang significa comenzar a interpretar como shell. chmod significa permisos de cambio, 777 significa permisos completos en todas partes. El porcentaje significa el nombre del archivo actual.

Aplica el cambio. Y pregunta si quieres volver a cargar. Presione "O" para "Ok". No recargues o perderás tus cambios.


Es posible que el archivo al que está accediendo tenga una copia de intercambio (o versión de intercambio) que ya esté en el mismo directorio

Por lo tanto, primero ver si existe un archivo oculto o no.

Por ejemplo, vea para el siguiente tipo de archivos

.system.conf.swp

Al usar el comando

ls -a

Y luego, elimínelo usando ...

rm .system.conf.swp

Por lo general, recomiendo comenzar a utilizar privilegios de superusuario utilizando ...

sudo su


Hice referencia a Zsolt en el nivel 2, ingresé:

:w !sudo tee % > /dev/null

y luego, en mi situación, todavía no puedo modificar el archivo, por lo que me sugirió que agregue "!". así que acepto

:q!

entonces funciona


Intenta conectarte como root y luego editar el archivo. Esto funciona para mí


O tal vez estás en un fs montado de solo lectura


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

es decir, pwd folder/file

y estaba escribiendo

sudo vim folder/file

y, obviamente, estaba buscando la carpeta en la carpeta y no pudo guardarla.


Solo necesita acceder a Gemfile con acceso de root. Antes de vi :

mando:

sudo su -

entonces:

vi ~/...


para mí trabajó cambiando el sistema de archivos de Solo lectura antes de ejecutar vim:

bash-3.2# mount -o remount rw /


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 tiene un sistema de ayuda integrado, acabo de citar lo que dice :h E212 . Es posible que desee editar el archivo como superusuario, como sudo vim FILE . O si no desea abandonar su sesión de vim existente (y sabe tener los derechos de sudo adecuados), puede emitir:

:w !sudo tee % > /dev/null

Que salvará el archivo.

HTH