mount --bind 的妙用

 

在固件開發過程當中經常遇到這樣的狀況:爲測試某個新功能,必需修改某個系統文件。而這個文件在只讀文件系統上(總不能爲一個小小的測試就重刷固件吧),或者是雖然文件可寫,可是本身對這個改動沒有把握,不肯意直接修改。這時候mount --bind就是你的好幫手。
假設咱們要改的文件是/etc/hosts,可按下面的步驟操做:
1. 把新的hosts文件放在/tmp下。固然也可放在硬盤或U盤上。
2. mount --bind /tmp/hosts /etc/hosts
測試完成了執行 umount /etc/hosts 斷開綁定。
若是我須要在/etc下面增長一個exports文件怎麼辦?原來沒有這個文件,不能直接bind。咱們有兩個方法:
測試

方法1:綁定整個/etc目錄,綁定前先複製/etc

# cp -a /etc /tmp
# mount --bind /tmp/etc /etc

此時的/etc目錄是可寫的,所作修改不會應用到原來的/etc目錄,能夠放心測試。
spa

方法2:掛載ramfs到/etc,掛載後再複製/etc

掛載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

相關文章
相關標籤/搜索