假设我的 Linux(基本操作系统)中安装了一个产品:
名称=“基本操作系统”版本=“6.1 Jólnir”
我的系统中还安装了 Windows 10(双启动),我想对源代码进行一些更改,但我不断收到此错误:
chmod: changing permissions of 'filename': Read-only file system
它恰好发生在这个文件/目录上。
我尝试过的事情:
- chmod 777 文件
mount -o remount,rw '/myfile/directory' : which returns no error
chown -R root:root /mydir
- 在 Windows 上禁用快速启动(这会破坏我的操作系统,我不知道为什么)
- 我试过这
但它们都不起作用。看起来该产品锁定了自己的源文件(这是我的最佳猜测)。
那么我该如何解决这个问题呢?
编辑1:
这是一些实际的终端输出:
root@qwxp# chmod g+rw current
chmod:更改“当前”的权限:只读文件系统
root@qwxp# mount -o remount,rw /snap/pycharm-professional/current /`
mount 命令没有输出,只有当我不给它一个安装点时它才会返回:
mount: /snap/pycharm-professional/271: 无法重新挂载 /dev/loop6 读写,已被写保护。
root@qwxp# chmod g+rw current
chmod:更改“当前”的权限:只读文件系统
root@qwxp# ls -al
total 8
drwxrwxrwx 3 root root 4096 Mar 5 05:46 .
drwxr-xr-x 13 root root 4096 Mar 5 06:24 ..
drwxr-xr-x 11 root root 239 Jan 27 18:52 271
lrwxrwxrwx 1 root root 3 Mar 5 05:11 **current -> 271**
-rw-r--r-- 1 root root 0 Mar 5 05:46 hi.txt
答案1
如果你运行df -hT /snap/pycharm-professional/current
你可能会发现这是一个类型的文件系统squashfs
。
Squashfs 文件系统在设计上是只读的,没有内置方法来修改文件系统的任何部分。
这似乎是一个快速安装的应用程序。从您的问题中不清楚您为什么要修改应用程序的部分内容。可能有一种更简单的方法可以完成您正在尝试的操作,但您没有提供足够的详细信息来确定这一点。
答案2
我不知道 snap 安装应用程序的权限处理,但我发现我的备份 USB 驱动器也存在类似的问题,它一直显示“只读”状态错误。过去 3 年我一直在备份这个驱动器,之前没有出现过问题。权限显示包括我的用户名的“写入”ls-l,但每当我尝试写入它时都没有什么区别。当我尝试更改驱动器的权限时,它也不让我更改它们。我打算清理驱动器并从头开始完整备份,这意味着要复制大约 600GB 的数据。
然后,我想到了先清洁隔板,然后再采取更极端的措施。我跑了gparted从 Linux USB 安装程序闪存驱动器,然后从分区选项卡中选择“检查”选项。这似乎进展顺利,当我重新启动时,在我的备份驱动器仍然连接的情况下,问题很容易解决。我不知道这个问题最初是如何出现的,但我想这只是 Linux 的怪癖之一。