No se puede editar el archivo del sistema /snap/phpstorm... incluso con una cuenta root en Ubuntu 18.04

No se puede editar el archivo del sistema /snap/phpstorm... incluso con una cuenta root en Ubuntu 18.04

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

información relacionada