当文件系统表示已启用读写时,“写入文件时出错,只读文件系统”

当文件系统表示已启用读写时,“写入文件时出错,只读文件系统”

我目前正在尝试更新嵌入式 Linux 设备上的网络设置。这通常是通过修改文件 /opt/etc/network/interfaces 的内容来完成的。 /opt/挂载的文件系统默认是RO,但是我们在使用命令更新文件内容时暂时将其更改为RW

mount -o remount,rw /opt

通过查看/proc/mounts的内容确认文件系统已经更新为RW

在此输入图像描述

我相信文件系统现在是可读写的,因为我看到了 RW 字母。

但是,当我去修改该文件时,出现只读错误。

在此输入图像描述

这让我很困惑。文件系统是按 /proc/mounts 读写的,但是,我仍然收到文件系统错误。我不是文件系统专家,但我对正在发生的事情有三种理论:

  1. 存储设备启用了某种内存锁(即开关)。
  2. 该文件实际上位于嵌套文件系统中,因此它实际上并不托管在 /opt 上
  3. 我是一个假人,缺少一些明显的东西。

答案1

您的问题中没有任何内容证明该文件/opt/etc/network/interfaces实际上位于/opt文件系统上。该路径上的目录之一可能是安装点。或者,更有可能的是,/opt/etc/network/interfaces它本身或其中一个目录/opt/etc,或者/opt/etc/network实际上是一个目标位于另一个文件系统上的符号链接。

要查看/opt/etc/network/interfaces实际使用的文件系统,请运行

df /opt/etc/network/interfaces

如果/opt/etc/network/interfaces本身是符号链接,则报告符号链接的位置。检查与ls -l /opt/etc/network/interfaces.

Linux提供了方便的实用程序namei查看路径中涉及的所有符号链接。

namei /opt/etc/network/interfaces

相关内容