在固件開發過程中常常遇到這樣的情況:為測試某個新功能,必需修改某個系統文件。 而這個文件在只讀文件系統上(總不能為一個小小的測試就重刷固件吧),或者是雖然文件可寫,但是自己對這個改動沒有把握,不願意直接修改。 這時候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 - / etc / tmp
# mount 
-- bind / tmp / etc / etc
此時的/etc目錄是可寫的,所做修改不會應用到原來的/etc目錄,可以放心測試。

方法2:掛載ramfs到/etc,同樣要先複製/etc

掛載ramfs
# mkdir 
/ tmp / etc
# mount 
- t ramfs none / tmp / etc

複製
/ etc,這裡我們不能用cp - a,改用tar
# cd 
/ etc
# tar cf 
-  . | (cd / tmp / etc; tar xf - )
# cd 
/

覆蓋
/ etc
# mount 
-- move / tmp / etc / etc
測試完了記著umount /etc

立你斯 發表在 痞客邦 留言(0) 人氣()