我目前正在尝试更新嵌入式 Linux 设备上的网络设置。这通常通过修改文件 /opt/etc/network/interfaces 的内容来完成。挂载在 /opt/ 的文件系统默认为 RO,但是,我们在使用命令更新文件内容时暂时将其更改为 RW
mount -o remount,rw /opt
我通过查看 /proc/mounts 的内容确认文件系统已更新为 RW
我相信文件系统现在是可读写的,因为我看到了 RW 字母。
但是,当我去修改文件时,我得到一个只读错误。
这让我很困惑。文件系统根据 /proc/mounts 是可读写的,但是,我仍然遇到文件系统错误。我不是文件系统大师,但我对正在发生的事情有三种理论:
- 存储设备启用了某种内存锁定(即开关)。
- 该文件实际上存在于嵌套文件系统中,因此它实际上并未托管在 /opt
- 我是个假人,缺少一些明显的东西。
您的问题中没有任何内容可以证明该文件
/opt/etc/network/interfaces
实际上位于/opt
文件系统上。该路径上的目录之一可能是安装点。或者,更有可能是/opt/etc/network/interfaces
它本身或目录之一,/opt/etc
或者/opt/etc/network
实际上是一个符号链接,其目标位于另一个文件系统上。要查看
/opt/etc/network/interfaces
实际在哪个文件系统上,请运行如果
/opt/etc/network/interfaces
它本身是一个符号链接,这将报告符号链接的位置。检查与ls -l /opt/etc/network/interfaces
。Linux 提供了一个方便的实用程序
namei
来查看路径中涉及的所有符号链接。