無法編輯系統檔案 /snap/phpstorm...即使在 Ubuntu 18.04 中使用 root 帳號

無法編輯系統檔案 /snap/phpstorm...即使在 Ubuntu 18.04 中使用 root 帳號

我在 Ubuntu 18.04 軟體包中安裝了一個 snap 軟體包,我想使用 root 帳戶編輯其檔案之一。首先,我使用 切換到 root su,但是當我在 nano 中開啟檔案時,它告訴我:

 [ File '/snap/phpstorm/36/bin/phpstorm64.vmoptions' is unwritable ]

然後我嘗試了這個:

root@elahe-VPCEA31FX:/home/elahe# sudoedit  /snap/phpstorm/36/bin/phpstorm64.vmoptions

在上面的命令之後,文件在 nano 中打開,但是在進行更改並使用Ctrl+保存並使用+O退出之後,我收到了此訊息:Ctrlx

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

我什至嘗試使用以下命令更改文件的權限:

root@elahe-VPCEA31FX:/home/elahe# chmod 755  /snap/phpstorm/36/bin/phpstorm64.vmoptions

並得到這個:

chmod: changing permissions of '/snap/phpstorm/36/bin/phpstorm64.vmoptions': Read-only file system

root 使用者無法編輯文件,這真是太神奇了!這是一個錯誤嗎?

答案1

快照檔案以唯讀 (ro) 方式掛載,您可以使用 mount 指令進行檢查。

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)

要修改squashfs中的文件,您需要將其取消壓縮,修改文件,然後重新製作squashfs文件。例如,如果我想修改文件/var/lib/snapd/snaps/vlc_365.snap

sudo umount /snap/vlc/365
sudo unsquashfs /var/lib/snapd/snaps/vlc_365.snap

修改您想要的任何內容squashfs-root(這是所有檔案解壓縮到的位置),然後重新打包。

sudo mksquashfs squashfs-root vlc_365.snap

將其複製回原來的位置並重新安裝。

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

相關內容