当前位置:  开发笔记 > 运维 > 正文

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

如何解决《在Linux文件系统中创建一个循环》经验,为你挑选了1个好方法。

如何在Linux文件系统中创建循环?我想打破Linux文件系统的有向无环图(DAG)属性.这可能吗?当我在Ubuntu上安装了scratchbox交叉编译器时,我曾经看到过这种情况.

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



1> Eric Melski..:

其他一些响应者已经回答了如何使用环回设备设置挂载,但是您特别询问了有关bind挂载的情况,这些挂载有点不同.如果要使用绑定装入,只需--bind在mount命令中指定.例如:

mount --bind /original/path /new/path

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

/something
/something/underneath/that

现在假设我bind/something:

mount --bind /something /new_something

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

mount --rbind /something /new_something

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

/something

然后我设置我的rbind上面,然后我挂载/something/underneath/that:rbind不会神奇地通过该rbind位置可见新的装载.还要注意,显然由于内核中的错误,您无法卸载rbind挂载.

另外,如果您的意思是"如何使用mount(2)系统调用设置绑定挂载?":您必须MS_BINDmount.h调用mount(2)常规bind挂载时指定标志(定义).对于rbindmount,您必须指定MS_BINDundocument MS_REC标志(在中定义linux/fs.h).

希望有所帮助,

埃里克·梅尔斯基


可以访问
跟随挂载点!例如,假设我有以下挂载点:

遵循挂载点:
我挂载
推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有