*chroot-debian26環境の構築 [#tcb603a9]
-''はじめに''~
今までdebian26は、オリジナルLANDISKのchroot環境下で動作しませんでした。~
しかし、bash-3.0を用いると、それが可能になることが解りました。~
本ページでは、その方法について簡単に記します。~
~
-''chroot-debian26環境の特徴''~
chroot-iohack版debianと同様に以下の特徴があります。~
~
--LANDISKのオリジナル環境は一切変更しない。~
LANDISKのルートファイルシステムをrwで再マウントすることなしにdebian環境を構築可能。~
~
--debianディストリビューションをchrootの環境に構築~
debian環境で作業しながら、NAS(LANDISK)としても使用可能。~
~
--データ領域の共有化~
LANDISKの/mnt/hda3/shareは、debian環境から/shareでアクセス可能。~
当然ながら、ネットワークで接続されたWindowsやMac等からも/shareディレクトリへアクセス可能。~
~
-
さらには、下記のような比較的新しい環境が使用可能です。~
--glibc-2.3.5ベース~
--gcc-3.4系の開発環境~
~
-
副作用として、kernel-2.6向けのプログラムをkernel-2.4で実行することになるため、互換性問題が多少なりとも発生する可能性があります。具体的には、mysqlやnetatalk等が動作しませんでした。~
~
ということで、実際にインストールを行ってみましょう。~
*インストール&設定 [#bf0ad71b]
-''rootになる''~
省略します。~
まだ、telnetdを組み込んでない方は、[[LANDISKへログイン]] を参照してtelnetdを組み込み、rootになってください。~
~
-''ベースパッケージの取得および解凍''~
/mnt/hda3/debian26以下にdebian26のシステムをフルインストールします。~
まず、次のベースファイルを用意します。~
--http://eggplant.ddo.jp/www/download/debian26/base/base26-sh4-20050912-bash3.tgz ~
-
~
次に、ベースファイルを展開します。~
debian26というディレクトリが生成され、その中へシステム一式が展開されます。~
 # cd  /mnt/hda3
 # tar vxfzp どこかの/base26-sh4-20050912-bash3.tgz
ネットワーク関連のファイルをLANDISK環境からコピーします。~
 # cp /etc/hosts       /mnt/hda3/debian26/etc/
 # cp /etc/resolv.conf /mnt/hda3/debian26/etc/
 # hostname      >     /mnt/hda3/debian26/etc/hostname
shareディレクトリを作成します。
 # mkdir /mnt/hda3/debian26/share


-''debian環境の起動・終了スクリプトの作成と実行''~
--起動スクリプト(debian26_start)~
/mnt/hda3/debian26_startを以下の内容で作成します。~
(/mnt/hda3/debian26/boot/chroot/debian26_startを参考までにご用意)~
#pre{{
#!/bin/sh
root=/mnt/hda3/debian26
chroot=$root/boot/chroot/chroot

if [ ! -e $root/proc/cpuinfo ]; then
    $chroot $root mount -t proc proc /proc
fi

if [ ! -e $root/share/disk ]; then
    mount --bind /mnt/hda3/share $root/share
fi

/etc/rc.d/init.d/S95httpd stop
sleep 1;

$chroot $root /etc/init.d/mysql restart
$chroot $root /etc/init.d/apache restart
$chroot $root /etc/init.d/cron restart
$chroot $root /etc/init.d/wdm restart

$chroot $root /bin/bash -l
}}
--終了スクリプト(debian26_stop)~
/mnt/hda3/debian26_stopを以下の内容で作成します。~
(/mnt/hda3/debian26/boot/chroot/debian26_stopを参考までにご用意)~
#pre{{
#!/bin/sh

root=/mnt/hda3/debian26
chroot=$root/boot/chroot/chroot

PATH=$PATH:/usr/local/bin
export PATH

$chroot $root /etc/init.d/wdm stop
$chroot $root /etc/init.d/cron stop
$chroot $root /etc/init.d/apache stop
$chroot $root /etc/init.d/mysql stop

killall -HUP debian26_start
sleep 1;

umount $root/proc
umount $root/share
}}
--debian環境の起動(終了)~
それぞれのスクリプトに実行属性をセットします。
 # chmod +x /mnt/hda3/debian26_start
 # chmod +x /mnt/hda3/debian26_stop
*chroot-debian26の起動 [#f7ce09fa]
-''起動''~
次のコマンドでLANDISK環境からdebian26環境へ移行します。 
 # /mnt/hda3/debian26_start
 landisk:/#
ちなみにdebian26環境からLANDISK環境へ復帰するには次のようにします。 
 landisk:/# exit
 # /mnt/hda3/debian26_stop
-''パッケージ管理ツールapt-get''~
/etc/apt/sources.listは次のように設定しています。
#pre{{
deb http://eggplant.ddo.jp/www/download/debian26/binary-sh4/ ./
#deb http://eggplant.ddo.jp/www/download/debian26/working/ ./

#deb-src http://ftp.jp.debian.org/debian/ sarge main non-free contrib
deb-src http://ftp.debian.or.jp/debian/ sarge main non-free contrib
deb-src http://ftp.debian.or.jp/debian-non-US sarge/non-US main contrib non-free
}}
apt-getコマンドでパッケージリストを取得し、パッケージを最新のものに更新します。~
#pre{{
landisk:/# apt-get update
landisk:/# apt-get upgrade
}}
さらに、apt-getの動作検証もかね、いくつかの定番ツールをインストールしてみましょう。
#pre{{
landisk:/# apt-get install less rpm     等。。。
}}
*動作確認 [#p17495d7]
-''次のアプリが動作しました。''~
--vncserver, wdm, xterm等~
--emacs, anthy等~
--gcc-3.4, g++-3.4, gcj-3.4等の開発環境~
--apache, php4, turck-mmcache~
--samba3
~
-''次のアプリが動作しませんでした。''~
(本環境でリビルドすれば動きそうな気がしますが、試していません。)~
--mysql~
--netatalk2~
//*コメント欄 [#off269eb]
//-なんでも
//
//#comment
//
//----
//-不具合事項等
//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS