web-dev-qa-db-ja.com

Ubuntu 18.04のルートアカウントでもシステムファイル/ snap / phpstormを編集できません。

Ubuntu 18.04パッケージにスナップパッケージをインストールし、ルートアカウントを使用してそのファイルの1つを編集したい。最初に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 で終了した後 Ctrl+x 私はこのメッセージを受け取りました:

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ユーザーがファイルを編集できないことは本当に驚くべきことです!これはバグですか?

3
Mr Jan

スナップファイルは読み取り専用(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
5
Bernard Wei