mount --bind 的妙用

CentOS 6.5基於DHCP的PXE自動化安裝系統過程中遇到這樣一個問題?

 到這裏我們還沒有完成、他還不能讓我們的系統自動化安裝,因爲我們還沒有ks自動應答文件,也沒有安裝樹、在安裝時必須提供所依賴的各種rpm包,我們知道HTTP可以向外提供安裝樹、那就用到我們的httpd了、我這裏已經安裝好了httpd服務了、如果沒有就得安裝哦,httpd的服務路徑在/var/www/htmp下、這時我們可以綁定我們之前掛載好的光盤到這裏來、這樣不就有安裝樹了麼,當然在html下創建個目錄會好點,這裏我們創建成centos:
   # mkdir /var/www/html/centos6.5
   # mount --bind /media/cdrom/ /var/www/html/centos6.5/

   wKiom1McLf7yoXsLAAFvIIHuYHM956.jpg

其中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 -/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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章