![Ubuntu 18.04의 루트 계정이 있어도 시스템 파일 /snap/phpstorm을 편집할 수 없습니다.](https://rvso.com/image/1157723/Ubuntu%2018.04%EC%9D%98%20%EB%A3%A8%ED%8A%B8%20%EA%B3%84%EC%A0%95%EC%9D%B4%20%EC%9E%88%EC%96%B4%EB%8F%84%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%ED%8C%8C%EC%9D%BC%20%2Fsnap%2Fphpstorm%EC%9D%84%20%ED%8E%B8%EC%A7%91%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
Ubuntu 18.04 패키지에 스냅 패키지를 설치했고 루트 계정을 사용하여 해당 파일 중 하나를 편집하고 싶습니다. 먼저 를 사용하여 루트로 전환했지만 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
루트 사용자가 파일을 편집할 수 없다는 것은 정말 놀랍습니다! 이것은 버그인가요?
답변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의 파일을 수정하려면 파일을 unsquash하고 파일을 수정한 다음 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