*iohack版chroot-debian環境の構築 [#o9c16ea6]
-''debian化の方針''~
debian化の方針を次に記します。
--LANDISKのオリジナル環境は一切変更しない。~
LANDISKのルートファイルシステムをrwで再マウントすることなしにdebian環境を構築します。
--debianディストリビューションをchrootの環境に構築~
debian環境で作業しながら、NAS(LANDISK)としても使用できます。
--データ領域の共有化~
LANDISKの/mnt/hda3/shareディレクトリは、debian環境からは/shareでアクセス可能です。~
当然ながら、ネットワークで接続されたWindowsやMac等からも/shareディレクトリへアクセスできます。
-''ベースパッケージの取得および解凍''~
/mnt/hda3/debian以下にdebianのシステムをフルインストールします。~
まず、次の2つのファイルを用意します。~
--http://sourceforge.jp/projects/iohack/から、
base-sh4-for-landisk-20050404.tar.bz2~
--http://eggplant.ddo.jp/www/download/debian_iohack_base/Setup_files.tgz~
前者は、iohack様が用意したlandisk版debianのベースシステムです。~
後者は、ベースシステムを解凍するためのbzip2コマンドや各種設定ファイルをまとめたファイルです。~
-
~
次に、debian環境を格納するためのディレクトリを作り、Setup_files.tgzを展開します。~
# mkdir /mnt/hda3/debian
# cd /mnt/hda3/debian
# tar vxfz どこかの/Setup_files.tgz
base-sh4-for-landisk-xxxxxxxx.tar.bz2を展開します。
# cd Setup_files
# cp 何処かの/base-sh4-for-landisk-20050404.tar.bz2 . # コピー
# bzip2 -d base-sh4-for-landisk-20050404.tar.bz2 # 圧縮展開
# cd /mnt/hda3/debian
# tar vxfp Setup_files/base-sh4-for-landisk-20050404.tar
ネットワーク関連のファイルをLANDISK環境からコピーします。~
# cp /etc/hosts /mnt/hda3/debian/etc/
# cp /etc/resolv.conf /mnt/hda3/debian/etc/
# hostname > /mnt/hda3/debian/etc/hostname
shareディレクトリを作成します。
# mkdir /mnt/hda3/debian/share
UTC(/mnt/hda3/debian/etc/default/rcS)を変更します。
#pre{{
# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=&color(red){no};
}}
-''debian環境の起動・終了スクリプトの作成と実行''~
--起動スクリプト(debian_start)~
/mnt/hda3/debian_startを以下の内容で作成します。~
#pre{{
#!/bin/sh
root=/mnt/hda3/debian
if [ ! -e $root/proc/cpuinfo ]; then
$root/usr/sbin/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;
$root/usr/sbin/chroot $root /etc/init.d/mysql restart
$root/usr/sbin/chroot $root /etc/init.d/apache restart
$root/usr/sbin/chroot $root /etc/init.d/cron restart
$root/usr/sbin/chroot $root /etc/init.d/xdm restart
$root/usr/sbin/chroot $root /bin/bash -l
}}
--終了スクリプト(debian_stop)~
/mnt/hda3/debian_stopを以下の内容で作成します。~
#pre{{
#!/bin/sh
root=/mnt/hda3/debian
PATH=$PATH:/usr/local/bin
export PATH
$root/usr/sbin/chroot $root /etc/init.d/xdm stop
$root/usr/sbin/chroot $root /etc/init.d/cron stop
$root/usr/sbin/chroot $root /etc/init.d/apache stop
$root/usr/sbin/chroot $root /etc/init.d/mysql stop
killall -HUP debian_start
sleep 1;
umount $root/proc
umount $root/share
}}
--debian環境の起動(終了)~
それぞれのスクリプトに実行属性をセットし。
# chmod +x /mnt/hda3/debian_start
# chmod +x /mnt/hda3/debian_stop
次のコマンドでLANDISK環境からdebian環境へ移行します。
# /mnt/hda3/debian_start
landisk:/#
ちなみにdebian環境からLANDISK環境へ復帰するには次のようにします。
landisk:/# exit
# /mnt/hda3/debian_stop
-''パッケージ管理ツールapt-get''~
--/etc/apt/sources.listに次の1行を加えます。~
ここには、iohackに用意されていないパッケージや管理人が修正したパッケージ等を置いています。~
deb http://eggplant.ddo.jp/www/download/debian_iohack_base ./
準備ができたなら、次のコマンドで最新のパッケージリストを取得します。~
landisk:/# apt-get update
apt-getの動作検証もかね、いくつかの定番ツールをインストールしてみましょう。~
landisk:/# apt-get install less wget rpm 等。。。
~
*Xvncでxserver [#x77c3744]
-''X Window Systemの導入''~
MS-WindowsやMac上のVNCクライアントから、xdmログインできるように設定を行います。~
--インストール~
apt-getで一気に入れてしまいます。~
#pre{{
landisk:/# apt-get install x-window-system xfonts-a12k12 kterm vncserver
}}
--/root/.xsession~
X Windowが立ち上がる時、最初に実行されるファイルです。
ウィンドウマネージャやアプリケーションの起動を行います。~
以下の内容で作成します。(お好みに応じて変更してください。)~
#pre{{
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
export PATH
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
exec twm
}}
--/root/.Xresources~
これは各種アプリケーションの設定を記述するファイルです。~
お好みに応じて設定してください。
本例ではxtermの背景色と文字色を指定しています。~
#pre{{
XTerm.vt100.foreground: black
XTerm.vt100.background: white
}}
--/root/.twmrc~
ウィンドウマネージャーtwmの設定ファイルです。~
メニューからxterm等を起動できるように変更を加えます。~
/etc/X11/twm/system.twmrc-menuをコピーして、~
#pre{{
landisk:/# cd /root
landisk:~# cp /etc/X11/twm/system.twmrc-menu .twmrc
}}
以下のメニュー設定部を変更します。
#pre{{
&color(orange){70行目付近};
#
# And a menus with the usual things
#
menu "main"
{
"Main Menu" f.title
"Debian" f.menu "/Debian"
&color(red){ "xterm" f.exec "xterm -sb -ls &"};
&color(red){ "kterm" f.exec "kterm -sb -ls &"};
&color(red){ "emacs" f.exec "emacs &"};
&color(red){ "xcalc" f.exec "xcalc &"};
&color(red){ "oclock" f.exec "oclock &"};
&color(red){ "xkill" f.exec "xkill &"};
"" f.nop
"Show Icon Manager" f.showiconmgr
"Hide Icon Manager" f.hideiconmgr
"" f.nop
"Exit" f.menu "Quit-Verify"
}
}}
-''xdmとXvncの連携''~
vncクライアントからxdm経由でログインできるように設定します。~
--debian環境のrootパスワード設定~
ルートアカウントでxdmログインするには、パスワード必要となりますので設定しておきます。~
#pre{{
landisk:~# passwd
Enter new UNIX password: &color(red){←パスワード入力};
Retype new UNIX password: &color(red){←再度入力};
passwd: password updated successfully
landisk:~#
}}
--/etc/X11/xdm/Xservers の最下行を次のように変更します。~
#pre{{
#:0 local /usr/X11R6/bin/X vt7 -dpi 100 -nolisten tcp
:0 local /usr/bin/Xrealvnc -geometry 1024x768 -depth 16
}}
--xdmを起動します。
#pre{{
landisk:/# /etc/init.d/xdm restart
Starting X display manager: xdm.
}}
--vncクライアントから接続します。~
WindowsやMac上のvncクライアントから接続します。~
通常は、"IPアドレス:DISPLAY番号"で接続しますが、~
xdm経由で接続する場合は、IPアドレスだけを入力します。~
~
&ref(LANDISKのdebian化(改)/vnc-xdm1.jpg,nolink);~
~
&ref(LANDISKのdebian化(改)/vnc-xdm2.jpg,nolink);~
~
debian環境のアカウントでログインできます。~
ただし、rootの場合はパスワード未設定だとログインできないようです。~
~
--その他~
/mnt/hda3/debian_startを次のように変更すると、~
直接xdmからログインできるようになって便利かもしれません。
#pre{{
$root/usr/sbin/chroot $root /etc/init.d/xdm restart
}}
#counter