Ads 468x60px

##EasyReadMore##

02 11月, 2017

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目錄,可以放心測試。
方法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

Refer:

mount --bind 的妙用 - 乐在其中 - IT博客 - https://goo.gl/vxVVhy

0 意見:

張貼留言

 
Blogger Templates