何に便利かって、なんかの設定ファイルを弄ってテストしてる時。
bind mount とは
すでにマウントされているツリーの一部を、別の場所にマウントさせるオプション。
それだけのものですが非常に便利です。
使い方
# mount --bind /xxx/source /yyy/dest
こうすることで /yyy/dest の中身は /xxx/source になります。
例
# ls -l /root/conf
-rw-r--r--. 1 root root 0 10月 3 01:26 example.conf
# ls -l /root/conf-new
-rw-r--r--. 1 root root 0 10月 3 01:26 new.conf
# mount --bind /root/conf-new /root/conf
# ls -l /root/conf
-rw-r--r--. 1 root root 0 10月 3 01:26 new.conf
# df /root/conf
ファイルシステム 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/vg_f15x121e-lv_root 206424760 12821532 183117468 7% /root/conf
fstabでの指定
fstabに記述して起動時にマウントさせる場合は以下のように記載します。
/root/conf-new /root/conf none bind 0 0
使い所
chrootするftp等で良く例に出ます。またCDROMだけで動くLive系のLinuxで使われていたりします。
が、個人的によく使っているのが設定ファイルの書換えテストや、コンテンツの入れ替えの時です。
/etc/mail や /etc/httpd みたいなディレクトリに設定が全て保存されており、かつ複数のファイルを一度にいじるような場合。
まず元ディレクトリをcp -a /etc/mail /etc/mail.cp.date みたいにコピーしてやり、中の設定をいじった上でbind mountして動作テストします。OKであれば改めてディレクトリごと入れ替え、みたいな感じです。
コンテンツの入れ替えも同様です。ファイル単位でxxx.bkみたいな感じで残しておくと複数ファイルを編集した場合に戻し忘れたり、ソフトによってはディレクトリ内に存在するファイルを全部読んでしまうような /xxxx.d/ 系のディレクトリもあるので、こうやって独立した領域で編集・テストすると安全です。
0 件のコメント:
コメントを投稿