打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
aufs
 aufs (another union file system), 从名字上就可以看出, 它的作用是合并几个文件夹到一个目录中, 使得这些文件夹(分散或者不是分散的)合并到同一个目录中。更神奇的是, 可以改变文件夹的属性, 将只读的变成可写(只是看起来可写, 修改的东西被保存在另外的地方, 不会对原来的只读文件夹造成损害。

先看一个例子, 参考了http://www.linuxfans.org/bbs/thread-173965-1-2.html
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的选项, 这样的结果跟上面一致

一些问题:
mount -t aufs -o br:/home=ro:/tmp/rwdir none /tmp/union会造成段错误, 暂时不知道原因

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Docker基础技术:AUFS(转)
android boot.img 拆包,修改adb 具有root权限,以i9250为例
【教程】放出ROM移植教程,小白也会移植ROM
JS文件读写
tmp文件夹怎么删除
Docker源码分析(九):Docker镜像
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服