トップ > 最小システムの構築 >
チェンジルート前の準備

  

チェンジルートの準備を行う

次の記事からは、チェンジルート環境下で作業を進めていきます。 ここでは、チェンジルートに必要な準備作業を行います

  
チェンジルートは、ルートディレクトリを / 以外に変更するための仕組みです。 本ウェブサイトの手順では、$MYLINUX、つまり、/mylinuxがルートディレクトリとなるようにチェンジルートします。

最初に、$MYLINUX以下にマウントポイントとデバイスファイルを作成します。 まずは、マウントポイントを作成します。


mkdir -vp $MYLINUX/dev
mkdir -vp $MYLINUX/proc
mkdir -vp $MYLINUX/sys
mkdir -vp $MYLINUX/run

 

次に、デバイスファイルの作成を行います。


mknod -m 0600 $MYLINUX/dev/console c 5 1
mknod -m 0666 $MYLINUX/dev/null    c 1 3

 

チェンジルートするためには、新しいルートディレクトリ以下に必要最低限のディレクトリやファイルが存在していなくてはなりません。 上記の作業は、それらのディレクトリやファイルを作成する作業です。

  

シェルスクリプトの作成

最後に、チェンジルートを行うシェルスクリプトを作成します。


cat > /root/chroot.sh << "EOF"
mount -v --bind /dev $MYLINUX/dev
mount -vt devpts devpts $MYLINUX/dev/pts -o gid=5,mode=620
mount -vt proc proc $MYLINUX/proc
mount -vt sysfs sysfs $MYLINUX/sys
mount -vt tmpfs tmpfs $MYLINUX/run

chroot $MYLINUX /tools/bin/env -i HOME=/root TERM=$TERM SKIPPS1=1 PS1='MYLINUX@\u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin /tools/bin/bash --login +h
#chroot $MYLINUX /usr/bin/env   -i HOME=/root TERM=$TERM SKIPPS1=1 PS1='MYLINUX@\u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin            /bin/bash       --login

umount -v $MYLINUX/run
umount -v $MYLINUX/sys
umount -v $MYLINUX/proc
umount -v $MYLINUX/dev/shm
umount -v $MYLINUX/dev/pts
umount -v $MYLINUX/dev
EOF
chmod 0755 /root/chroot.sh

 

上記のシェルスクリプトを実行することで、簡単にチェンジルート環境に入ることができます。

  
このシェルスクリプトは、多重実行してはいけません。 最初にチェンジルート環境から抜けたプロセスによってマウントが解除されてしまい、チェンジルート中の環境が正常に動作しなくなるためです。
  

バックアップ

1CD Linux用のパーティションをバックアップしておきます。


cd $MYLINUX
tar cvfj ./backups/mylinux.backup-04.tar.bz2 . --exclude=backups --exclude=sources --exclude=lost+found

 

チェンジルートの準備が整った状態のバックアップです。

メニュー