|
linux一个目录挂载两个分区
aufs (another union file system), 从名字上就可以看出, 它的作用是合并几个文件夹到一个目录中, 使得这些文件夹(分散或者不是分散的)合并到同一个目录中。更神奇的是, 可以改变文件夹的属性, 将只读的变成可写(只是看起来可写, 修改的东西被保存在另外的地方, 不会对原来的只读文件夹造成损害。
先看一个例子, 参考了[url=]http://www.linuxfans.org/bbs/thread-173965-1-2.html[/url]:
mkdir /tmp/rwdir /tmp/union
mount -t aufs -o br:/tmp/rwdir:/home=ro none /tmp/union | 上面mount的命令解释如下, 以aufs的格式将none(这里通常是一个设备名,比如/dev/sda, 或者一个iso文件等,none表示空设备) 挂载到/tmp/union目录底下
-o 后面跟的是aufs对应的选项, br表示分支(branch, 也就是要合并的文件夹, 格式为br: BRANCH[:BRANCH], 其中的BRANCH实际上是一个文件夹加选项(选项可以忽略), 从上面的例子对应来看, BRANCH 可以当当是文件夹/tmp/rwdir, 也可以是文件夹加属性/home=ro, 其中=ro表示/home挂载为只读(这样对home作的改变都不会真正出现在home中)
命令执行往后, union底下不是出现了rwdir跟home两个目录, 而是rwdir跟home底下的内容都变成union底下的内容, 比如rwdir只有file1, home只有file2, 那么union底下出现的内容是file1跟file2
现在假设home底下有svn目录,目录底下有文件file3
cd union
touch file4
rm svn/file3
sudo umount union |
对union进行了一些读写操作后, 将union umount掉, 现在再来看rwdir跟home的变化
home被挂载为只读,所以在union中删了它的文件,实际上它并没有改变, 等下我们会说它的改变保存在哪里
rwdir可写, 我们发现它下面多了file4, 以及svn目录, 如果你用ls -a, 会发现一个隐藏文件, 对了,这个隐藏文件就是上面删除对应的记录
总的来说, 我们可以将一个只读文件夹跟一个可写文件夹用aufs合并到另外一个文件夹, 这样我们就可以对只读文件夹进行操作, 并把修改的内容保存在另外一个文件中
开始可能只挂载了一些目录,我们可以进行追加操作
mount -t aufs -o br:/tmp/rwdir none /tmp/union | 现在我们想将home追加上, 可以这么做
mount -o remount,append:/home=ro /tmp/union |
append:BRANCH 是aufs的选项, 这样的结果跟上面一致
为了您的安全,请只打开来源可靠的网址
打开网站 取消
来自: http://hi.baidu.com/lijunyi0198/blog/item/daa9472a02094022d42af1d4.html |
|