UNIX系OS ( Mac / Linux / FreeBSD )のシェルコマンドに関する各種メモ書き

シンボリックリンクの代わりに mount -o bind オプションを使用する

● mount の -o bind オプションを利用しシンボリックリンクの代わりにする

chroot する時によく使用します。

例:「/bin」を「/root/myfolder/bin/」としても使用できるようにする

cd /root
mkdir myfolder
mkdir myfolder/bin
mount -o bind /bin /root/myfolder/bin/

例:「/lib64」を「/root/myfolder/lib64」としても使用できるようにする

mount -o bind /lib64 /root/myfolder/lib64

● mount でマウントされたディスクやディレクトリの一覧を表示する

mount

結果例

/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/xvda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/xen type xenfs (rw)
/etc/named on /var/named/chroot/etc/named type none (rw,bind)
/var/named on /var/named/chroot/var/named type none (rw,bind)
/etc/named.rfc1912.zones on /var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)
/etc/rndc.key on /var/named/chroot/etc/rndc.key type none (rw,bind)
/usr/lib64/bind on /var/named/chroot/usr/lib64/bind type none (rw,bind)
/etc/named.iscdlv.key on /var/named/chroot/etc/named.iscdlv.key type none (rw,bind)
/etc/named.root.key on /var/named/chroot/etc/named.root.key type none (rw,bind)

後ろの(rw,bind)のように bind がついているものが bind オプションで作成されたものです。

● umount でマウントされたディスクやディレクトリを解除する

umount <ディレクトリ名>

またはマシンを再起動すると自分で mount したディレクトリは解除されます。

● mountコマンドの注意点

すでに存在するディレクトリ(例えば /bin/ )に別のディレクトリをマウントすることもできます。
これをしてしまった場合、詰みますので、速やかにマシンをリブートしてください。

● ldd コマンドで必要なライブラリを表示させる

例えば /bin/bash コマンドを使用したい場合は次のファイルも使用できる状態でないといけません

ldd /bin/bash

結果

	linux-vdso.so.1 =>  (0x00007fff29d52000)
	libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007feb46d7b000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007feb46b77000)
	libc.so.6 => /lib64/libc.so.6 (0x00007feb467e3000)
	/lib64/ld-linux-x86-64.so.2 (0x00007feb46f9c000)
No.1209
04/20 15:32

edit