在固件开发过程当中经常遇到这样的状况:为测试某个新功能,必需修改某个系统文件。而这个文件在只读文件系统上(总不能为一个小小的测试就重刷固件吧),或者是虽然文件可写,可是本身对这个改动没有把握,不肯意直接修改。这时候mount --bind就是你的好帮手。
假设咱们要改的文件是/etc/hosts,可按下面的步骤操做:
1. 把新的hosts文件放在/tmp下。固然也可放在硬盘或U盘上。
2. mount --bind /tmp/hosts /etc/hosts
测试完成了执行 umount /etc/hosts 断开绑定。
若是我须要在/etc下面增长一个exports文件怎么办?原来没有这个文件,不能直接bind。咱们有两个方法:
测试
# cp -a /etc /tmp # mount --bind /tmp/etc /etc
此时的/etc目录是可写的,所作修改不会应用到原来的/etc目录,能够放心测试。
spa
挂载ramfscode
# mkdir /tmp/etc # mount -t ramfs none /tmp/etc
复制/etc,这里咱们不能用cp -a,改用tarblog
# cd /etc # tar cf - . |(cd /tmp/etc; tar xf -) # cd /
临时覆盖/etc开发
# mount --move /tmp/etc /etc
测试完了记着 umount /etcclass