gpt4 book ai didi

c++ - 我应该使用 mount() 还是/usr/bin/mount

转载 作者:太空宇宙 更新时间:2023-11-04 11:04:08 28 4
gpt4 key购买 nike

我想使用 C++ 挂载文件系统。我应该使用 mount() 系统调用,还是只执行 mount 二进制文件?

显然,系统调用会更快,我会花更少的时间构建命令行参数和解析错误消息等。但是,在阅读 mount(2) 后,我不清楚参数有哪些限制(如果有的话)。

我特别希望能够挂载磁盘镜像文件以及实际的物理磁盘。而且我还希望能够通过指定从设备/镜像开始的偏移量来安装单个文件系统。我不知道您是否可以通过一次调用 mount() 来做到这一点,或者您是否需要先手动创建循环设备。 (我也不知道创建循环设备有多难 — 我推测这很容易...)

如果正确设置这些东西相当复杂,那么调用 mount 二进制文件可能会更简单、更容易。但如果只是一个系统调用,直接调用 mount() 似乎更简洁。那么哪一个可能给我带来的问题最少?

最佳答案

好吧,Nayden 建议运行 strace mount,这不是个坏主意。

完成此操作后,mount 似乎正在做大量工作 hell 。看起来它确实创建了一个循环设备并安装了它。 (这意味着它需要弄清楚下一个未使用的循环设备号是什么,等等)听起来您可能还需要手动找出文件系统类型。

简而言之,在我看来,对 mount 二进制文件的一次简单调用可能比尝试重新创建该程序所做的一切工作要少得多。我原以为智能在内核中,但显然不是。

关于c++ - 我应该使用 mount() 还是/usr/bin/mount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25931541/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com