Mr *_*Jan 5 filesystem permissions editing 18.04
我在 Ubuntu 18.04 包中安装了一个 snap 包,我想使用 root 帐户编辑其中一个文件。首先我切换到 root su,但是当我在 nano 中打开文件时,它告诉我:
[ File '/snap/phpstorm/36/bin/phpstorm64.vmoptions' is unwritable ]
Run Code Online (Sandbox Code Playgroud)
然后我尝试了这个:
root@elahe-VPCEA31FX:/home/elahe# sudoedit /snap/phpstorm/36/bin/phpstorm64.vmoptions
Run Code Online (Sandbox Code Playgroud)
上面的命令文件中的纳米打开后,却做出更改,并保存后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
Run Code Online (Sandbox Code Playgroud)
我什至尝试使用以下命令更改文件的权限:
root@elahe-VPCEA31FX:/home/elahe# chmod 755 /snap/phpstorm/36/bin/phpstorm64.vmoptions
Run Code Online (Sandbox Code Playgroud)
得到了这个:
chmod: changing permissions of '/snap/phpstorm/36/bin/phpstorm64.vmoptions': Read-only file system
Run Code Online (Sandbox Code Playgroud)
root 用户不能编辑文件真是太神奇了!这是一个错误吗?
Ber*_*Wei 11
快照文件以只读 (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)
Run Code Online (Sandbox Code Playgroud)
要修改squashfs中的文件,您需要将其解压缩,修改文件,然后重新制作squashfs文件。例如,如果我想修改文件/var/lib/snapd/snaps/vlc_365.snap
sudo umount /snap/vlc/365
sudo unsquashfs /var/lib/snapd/snaps/vlc_365.snap
Run Code Online (Sandbox Code Playgroud)
修改您想要的任何内容squashfs-root(这是所有文件解压缩到的位置),然后重新打包。
sudo mksquashfs squashfs-root vlc_365.snap
Run Code Online (Sandbox Code Playgroud)
将其复制回其原始位置并重新安装。
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6536 次 |
| 最近记录: |