我正在尝试/etc/fstab
使用 C++ 在 CentOS 安装上编辑文件。这个想法是基于另一个配置文件,我将添加 fstab 中不存在的条目,或者在挂载点相同的 fstab 文件中编辑条目。这让我们可以在初始启动时正确设置系统。
我已经找到setmntent()
并getmntent()
迭代现有条目,因此我可以轻松检查 fstab 中的条目是否也存在于我的配置文件中。然后我可以addmntent()
用来添加任何不存在的条目 - 文档没有说明能够编辑条目,只在文件末尾添加一个新条目。似乎无法编辑现有条目或删除条目。奇怪的是,这个功能不存在,只有 CR 而不是 CRUD 的 UD。
如果我能提供帮助,我宁愿不必编写自己的解析器。
我的另一个选择是:
- 使用打开文件
setmntent()
getmentent()
使用并执行任何添加和/或编辑将整个 fstab 读入内存- 使用关闭文件
endmntent()
- 开放
/etc/fstab
写作 - 关闭
/etc/fstab
(从而清空文件) - 使用打开 fstab
setmntent()
- 循环浏览我之前读入的条目并使用
addmntent()
虽然可能很好,但似乎有点混乱。