![No se puede editar el archivo del sistema /snap/phpstorm... incluso con una cuenta root en Ubuntu 18.04](https://rvso.com/image/1157723/No%20se%20puede%20editar%20el%20archivo%20del%20sistema%20%2Fsnap%2Fphpstorm...%20incluso%20con%20una%20cuenta%20root%20en%20Ubuntu%2018.04%20.png)
Instalé un paquete instantáneo en el paquete Ubuntu 18.04 y quiero editar uno de sus archivos usando la cuenta raíz. Primero cambié a root con su
, pero luego, cuando abrí el archivo en nano, me dice:
[ File '/snap/phpstorm/36/bin/phpstorm64.vmoptions' is unwritable ]
Entonces probé esto:
root@elahe-VPCEA31FX:/home/elahe# sudoedit /snap/phpstorm/36/bin/phpstorm64.vmoptions
Después del comando anterior, el archivo se abrió en nano, pero después de realizar cambios y guardar con Ctrl+ Oy después de salir con Ctrl+ x, recibí este mensaje:
sudoedit: unable to write to /snap/phpstorm/36/bin/phpstorm64.vmoptions: Read-only file system
sudoedit: contents of edit session left in /var/tmp/phpstorm64XXRCQzZi.vmoptions
Incluso intenté cambiar los permisos del archivo con este comando:
root@elahe-VPCEA31FX:/home/elahe# chmod 755 /snap/phpstorm/36/bin/phpstorm64.vmoptions
y obtuve esto:
chmod: changing permissions of '/snap/phpstorm/36/bin/phpstorm64.vmoptions': Read-only file system
¡Es realmente sorprendente que el usuario root no pueda editar un archivo! ¿Es esto un error?
Respuesta1
Los archivos instantáneos se montan como de solo lectura (ro) y puede verificar esto usando el comando de montaje.
mount |grep snap
/var/lib/snapd/snaps/vlc_158.snap on /snap/vlc/158 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_4486.snap on /snap/core/4486 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_4571.snap on /snap/core/4571 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/vlc_365.snap on /snap/vlc/365 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/vlc_190.snap on /snap/vlc/190 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_4650.snap on /snap/core/4650 type squashfs (ro,nodev,relatime,x-gdu.hide)
Para modificar archivos en squashfs, debe descomprimirlos, modificar los archivos y luego volver a crear el archivo squashfs. Por ejemplo, si quiero modificar archivos en/var/lib/snapd/snaps/vlc_365.snap
sudo umount /snap/vlc/365
sudo unsquashfs /var/lib/snapd/snaps/vlc_365.snap
Modifique todo lo que desee squashfs-root
(es donde se descomprimen todos los archivos) y luego vuelva a empaquetarlo.
sudo mksquashfs squashfs-root vlc_365.snap
Cópielo nuevamente a su ubicación original y vuelva a montarlo.
sudo cp vlc_365.snap /var/lib/snapd/snaps/vlc_365.snap
sudo mount -t squashfs -o ro,nodev,relatime,x-gdu.hide /var/lib/snapd/snaps/vlc_365.snap /snap/vlc/365