在Linux文件系统中创建一个循环

前端之家收集整理的这篇文章主要介绍了在Linux文件系统中创建一个循环前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在 Linux文件系统中创建循环?我想打破Linux文件系统的有向无环图(DAG)属性.这可能吗?当我在我的Ubuntu上安装了scratchBox交叉编译器时,我曾经看到过这种情况.

我现在不知道如何重现它.

@R_301_323@

其他一些响应者已经回答了如何使用loopback设备设置挂载,但是您特别询问了绑定挂载,这有点不同.如果要使用绑定装载,只需在mount命令中指定–bind即可.例如:
mount --bind /original/path /new/path

这将使/ original / path中可访问的文件系统位置也可通过/ new / path访问.请注意,这不会跟随挂载点!例如,假设我有以下挂载点:

/something
/something/underneath/that

现在假设我为/ something做了一个绑定挂载:

mount --bind /something /new_something

我将能够通过路径/ new_something / myfile访问/ something / myfile等文件.但是我无法通过路径/ new_something / under / that / otherfile访问/ something / under / that / otherfile等文件.您必须为每个文件系统设置单独的绑定装载;或者如果你有一个相对较新的内核,你可以使用rbind挂载,它遵循挂载点:

mount --rbind /something /new_something

关于rbind挂载的一个警告:它们不处理在设置rbind之后安装文件系统的情况.也就是说,假设我有这样的坐骑:

/something

然后我按上面的方式设置了我的rbind,然后我在/下面安装/ something /:rbind不会神奇地通过rbind位置看到新的挂载.还要注意,显然由于内核中的错误,您无法卸载rbind挂载.

另外,如果您的意思是“如何使用mount(2)系统调用设置绑定挂载?”:当您为常规绑定调用mount(2)时,必须指定MS_BIND标志(在mount.h中定义)安装.对于rbind挂载,必须指定MS_BIND和undocument MS_REC标志(在linux / fs.h中定义).

希望有所帮助,

埃里克·梅尔斯基

原文链接:https://www.f2er.com/linux/394788.html

猜你在找的Linux相关文章