我有一个安装了 Ubuntu 14.04.5 的设备,它有一个带有 ext4 文件系统的硬盘。
通过阅读Ext4 Filesystem文档,我了解到默认数据模式是ordered仅保护元数据。在我的项目中,我们希望将其更改journal为也保护文件数据,因为数据安全具有更高的价值。
我尝试的第一件事是修改/etc/fstab文件。我试图改变
UUID=<UUID> / ext4 errors=remount-ro 0 1
Run Code Online (Sandbox Code Playgroud)
到
UUID=<UUID> / ext4 errors=remount-ro,data=journal 0 1
Run Code Online (Sandbox Code Playgroud)
通过附加data=journal到选项字段。
但是,当我重新启动设备时,我得到了一条错误消息,说cannot change data mode on remount. 我检查了dmesg并看到了一条关于使用ordered数据模式安装驱动器的早期消息。
很长一段时间以来,我认为/etc/fstab用于覆盖默认安装选项,因此驱动器仅安装一次。但现在看起来不对:驱动器是使用其默认安装选项安装的,然后/etc/fstab被拾取以重新安装它。
我的问题是:
Fstabwiki 页面,但没有看到它提到“挂载-重新挂载”的事情。/etc/fstab真的用于重装,那么第一次挂载是在启动过程的哪一步?它在/etc/init.d? 我确实在/etc/init.d调用umountfs和中看到了一些脚本umountroot,但是,浏览它们的内容,它们看起来并不相关。我最近的工作涉及大量 Debian 打包,我使用Debian 新维护者指南作为我的主要参考。
我还没有完全理解的是如何${shlibs:Depends}解析为特定的包和版本。我所说的“如何”是指从变量到该领域的最终包列表的详细步骤。${shlibs:Depends}Depends
第 4 章说:
dh_shlibdeps(1) 计算二进制包的共享库依赖关系。它生成为每个二进制包找到的 ELF 可执行文件和共享库的列表。该列表用于替换 ${shlibs:Depends}。
我想我真正感兴趣的是“生成它为每个二进制包找到的ELF可执行文件和共享库的列表”的详细步骤,例如使用的信息源是什么。
我还查看了Debian政策手册中的“8.6.4. shlibs系统”部分,它确实提供了一些信息来源,但似乎仍然没有谈论详细步骤。
我当然可以深入研究dh_shlibdeps脚本来弄清楚它是如何完成的,但我不愿意这样做,因为我还没有学过 Perl,所以我想看看是否有任何其他我不知道的参考资料已经涵盖了这一点。如果没有这样的参考,我肯定会阅读代码。
谢谢!
boot ×1
deb ×1
dependencies ×1
dpkg ×1
fstab ×1
hard-drive ×1
mount ×1
packaging ×1
partitioning ×1