只读文件系统错误,尤其是在 discord 中

只读文件系统错误,尤其是在 discord 中

运行 Ubuntu 18.04

我遇到了这个问题:我试图为 discord 应用程序指定一个不同的图标,因此在终端中,我导航到 discord 文件夹,最终导航到该discord.desktop文件。

路径:/snap/discord/109/usr/share/discord/discord.desktop

(我从 Ubuntu Software 安装了 discord)

因此,我执行了以下命令:

sudo gedit /snap/discord/109/usr/share/discord/discord.desktop

正如我所料,出现了文本编辑器,我可以在其中编辑 discord 图标的路径。但是,有一个问题:出于某种原因,我无法写入它。它说这是一个只读文件系统。

我对 Linux 不是很了解,因此我尝试执行以下操作:

chmod u+w /snap/discord/109/usr/share/discord/discord.desktop 

chmod(显然,正如我后来发现的)因为它是一个只读文件系统而引发了一个错误)

现在,事情就变得奇怪了。

我沿着该路径导航到不同的目录并执行:vi temp.txt

在每个路径中。我得到了error 212: file cannot be opened for writing,所以我认为整个路径都是只读的。当我尝试在文件夹和许多其他文件夹.txt中使用相同的命令创建文件时,我遇到了该错误。/etc

我尝试关闭并重新打开 discord,奇怪的是,有时有一个/snap/discord/109文件夹,有时没有。
现在,我尝试使用 Ubuntu 软件应用程序删除 discord,但它不允许我这样做,所以我执行了以下命令:

sudo rm -rf /snap/discord

但它不让我这样做,所以我怀疑我是不是搞砸了什么。我尝试启动到实时 USB 并使用 fsck 尝试修复它,但没有成功。

因此,我尝试格式化并重新安装 ubuntu,问题依旧。

有什么想法吗?我怎样才能使它不只是读的?

编辑:一旦我重新安装了 Ubuntu,我实际上就可以安装和卸载 discord,但我仍然遇到同样的问题。

答案1

Snap 以只读图像的形式分发。您看到的不是故障;而是预期的行为。

如果你这样做,mount | grep snap它将显示当前正在使用的快照图像:

/var/lib/snapd/snaps/gnome-system-monitor_57.snap on /snap/gnome-system-monitor/57 type squashfs (ro,nodev,relatime,x-gdu.hide)

(ro, nodev...)请注意,.表示ro只读。Squashfs 是一种面向 ROM 的只读媒体文件系统。Squashfs 实际上不支持写入映像。

结果是您无法编辑快照的内容。这是安全方面的好处,但对于您来说却是一个问题。

对于您来说,添加一个新的桌面条目,指向位于您的主目录中的 snap,这可能是一个不错的解决方法。您可以在新的桌面元素上设置图标。

另一种选择是解压快照,修改它,然后重新打包,但这会禁用更新,或者在每次更新时被覆盖。

相关内容