在固件開發過程當中經常遇到這樣的狀況:爲測試某個新功能,必需修改某個系統文件。而這個文件在只讀文件系統上(總不能爲一個小小的測試就重刷固件吧),或者是雖然文件可寫,可是本身對這個改動沒有把握,不肯意直接修改。這時候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