Debian 玄箱にする †
準備するもの †
まずは以下の機能を提供するソフトウェアがインストールされている PC が一台必要です。
- telnet クライアント(端末エミュレータ)
- FTP クライアント
- ウェブブラウザ
Windows PC 用であれば、窓の道具箱 にリンクがありますので参考にしてください。蛇足ですが、端末エミュレータは、作業中に落ちると悲劇になる可能性があるので、Tera Term Pro をお勧めしますが、Pederosa も落ちる環境で動かさなければ、タブ型インターフェイスでいくつもセッションを管理できるので便利です。
また用意した PC と玄箱を接続する LAN 環境が必要です。用意した LAN 環境で DHCP サーバが動作していない場合、接続する PC の IP アドレスは固定で振っておく必要があります。玄箱は接続された LAN 上に DHCP サーバが見つけられない場合、IP アドレスが「192.168.11.150」になりますので、作業用の PC に固定アドレスを振る場合は「192.168.11.100」などで良いでしょう。
次に 玄箱うぉううぉう♪ から以下のファイルをダウンロードしておきます。
- debian_2005_04_09_dist.tgz*1
Debian 化するために必要なイメージファイル - kuroevtd_1.1.3.tgz
ppc_uartd の代替パッケージ
初期セットアップ †
まずは玄箱付属のマニュアルや、このページの一番最後で紹介している 参考書籍 をよく読んで、初期不良がないことを確認するためにも、一度正規の手順でセットアップを行うことをお勧めします。
その際、DHCP サーバが動作している LAN 環境に接続している場合、セットアッププログラムを使用した際に表示される玄箱に割り当てられた IP アドレスをメモっておいてください。
EM モードに移行する †
正規の手順でのセットアップが終了したら、用意した PC から玄箱へ telnet 接続します。root アカウントでログインできます *2。
無事、telnet での接続が成功すれば、いよいよ以下のコマンドを入力し EM モードに移行します。
# echo -n 'NGNG' > /dev/fl3 # reboot
パーティションの再構成 †
正規のセットアップ手順が終了すると、玄箱に接続された HDD は三つのパーティションに分割されます。第一パーティション( /dev/hda1 )がシステム、第二パーティション( /dev/hda2 )がスワップ、第三パーティション( /dev/hda3 )が実際の共有領域になります。
この構成でよければ、この節は読み飛ばしてください *3。
正規のセットアップ手順で作成されたパーティションを削除し、新しくパーティションを構成します。以下のコマンドを実行します。
# /sbin/mfdisk -e /dev/hda # /sbin/mfdisk -f /dev/hda
二行目のコマンドを実行すると fdisk と同じコマンドモードになりますので、お好みでパーティションを作成してください。
ちなみに個人的には 250GB HDD を使用し、以下のように構成しました。
| デバイス名 | 用途 | 容量 |
| /dev/hda1 | システム | 約 10GB |
| /dev/hda2 | スワップ | 約 250MB |
| /dev/hda3 | 共有( /mnt 用) | 約 100GB |
| /dev/hda4 | ホーム( /home 用) | 約 120GB |
上記のような構成にしたとして、作成したパーティションを以下のコマンドで順次フォーマットする場合、以下のコマンドを実行します。
# mke2fs -j /dev/hda1 # mkswap /dev/hda2 # mke2fs -j /dev/hda2 # mke2fs -j /dev/hda3
以上のコマンドを順次実行すると、スワップ以外のパーティションはジャーナリングファイルシステム ext3 でフォーマットされます。
Debian 化 †
ハードディスクをマウント †
まずハードディスクをマウントするマウントポイントを作成します。
パーティションの再構成を行った場合、以下のようにマウントポイントを作成しマウントします。
| マウントポイント | マウント先 |
| /tmp/root/ | /dev/hda1 |
| /tmp/root/mnt/ | /dev/had3 |
| /tmp/root/home/ | /dev/hda4 |
ここでの注意事項は、玄箱は /dev/hda1 からシステムファイルを読み込むので、/(root) となるデバイス(ここで /tmp/root にマウントするデバイス)は必ず /dev/hda1 でなくてはなりません。
この場合以下のようにコマンドを実行します。
# mkdir /tmp/root # mount /dev/hda1 /tmp/root/ # mkdir /tmp/root/mnt # mount /dev/hda3 /tmp/root/mnt/ # mkdir /tmp/root/home # mount /dev/hda4 /tmp/root/home/
パーティションを再構成しなかった場合は、第一パーティションだけを /tmp/root/ にマウントして中身をばっさり消すだけです。以下のコマンドを実行してください。
# mkdir /tmp/root # mount /dev/hda1 /tmp/root/ # cd /tmp/root/ # rm -f *
ここまでの作業を終了すると、
# df -h
とすると各マウントポイントにマウントされているパーティションの容量などが確認できるはずです。念のため、パーティション設定等に間違いがないか確認しておいてください。
必要ファイルの展開 †
事前に用意した FTP クライアントを用いて、イメージファイルと kuroevtd のアーカイブをバイナリモードで /tmp/root/ 直下に転送します。FTP するときのアカウント名は root 、パスワードは玄箱のマニュアルをよく読んでいればわかるものです。
以下のコマンドで、 /tmp/root 以下にイメージファイルを展開します。
# tar zxvf ./debian_2005_04_09_dist.tgz
次に
# tar zxvf ./kuroevtd_1.1.3.tgz kuroevtd/kuroevtd # mv kuroevtd/kuroevtd usr/sbin/kuroevtd
として kuroevtd を最新版に入れ替えます。
ハングアップ対策 †
ハングアップ対策として以下のコマンドでデバイスファイルをコピーしておきます。
# cp /dev/ttyS1 /mnt/root/dev/AVR00
IP アドレス等の変更 †
IP アドレスを変更
/tmp/root/etc/network/interface を編集して、IP アドレスを変更します。以下の例は「192.168.1.10」に変更する場合です。
iface eth0 inet static address 192.168.1.10 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.69.255 gateway 192.168.1.1 iface lo inet loopback auto eth0 lo
ネットワーク上にルータなどが存在する場合には、address/network 以外に gateway も設定しておくようにしましょう。
ホスト名を変更
/tmp/root/etc/hostname を編集するとホスト名が変更できます。またホスト名を変更した場合には /tmp/root/etc/hosts を併せて変更することを忘れないようにしましょう。
次に /tmp/root/etc/hosts.allow を変更します。IP アドレスを変更を行った場合、このファイルの編集をしておかないと、再起動したとき telnet もできない「沈黙の箱」になるので要注意です。
例えば、先述のように 192.168.1.10 にアドレスを変更した場合、
ALL : 192.168.1.0/255.255.255.0 ALL : 127.0.0.1
としておく必要があります。
最後に、必要に応じて /tmp/root/etc/resolv.conf を編集して、サーチパスと DNS サーバアドレスを設定しておきます。
fstab を変更 †
パーティションの再構成を行った場合は、/tmp/root/etc/fstab も編集しておきます。先述したパーティション構成の場合だと、以下のようになります。
/dev/hda1 / ext3 defaults,noatime,errors=remount-ro 0 0 proc /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=20 0 0 /dev/hda2 swap swap defaults 0 0 /dev/hda3 /mnt ext3 defaults,noatime 0 0 /dev/hda4 /home ext3 defaults,noatime 0 0
EM モードから復帰する †
以上の作業が終了しましたら、以下のコマンドを入力し EM モードから復帰します。
# echo -n 'OKOK' > /dev/fl3 # reboot
再起動しますので立ち上がったら、玄箱に設定した IP アドレスに telnet 接続します。今度は root アカウントではログインできません。この時点で使用できるアカウントは tmp-kun(パスワードはユーザ名に同じ)のみです。
ここまでが終了しましたら、Debian 化の第一段階は終了です。これ以降の作業で、よほどのことをしない限りは玄箱が沈黙してしまうことはないでしょう。
Debian 化が終了してまずすること †
Debian 化が終了すると、玄箱への telnet によるアクセスはユーザ tmp-kun でしかできなくなります。初期の状態ではユーザ tmp-kun はユーザ名とパスワードが同じになっています。
root パスワードの変更 †
telnet でアクセスできたら、まず su コマンドでスーパーユーザになって、root のパスワードを変更しましょう。 初期パスワードはユーザ名と同じになっています。
ユーザの設定 †
初期ユーザ tmp-kun を使い続けてもかまいませんが、その場合でもパスワードくらいは変更しておくようにしましょう。
初期ユーザ tmp-kun を使わない場合は、まず新規ユーザを作成してから一度ログアウトし、再び新しく作成したユーザでログインし直してからスーパーユーザになって削除します。
Debian をアップグレード †
apt の設定 †
Debian で採用されているパッケージ管理システム apt の設定を行います。初期設定のままでも使えますが、初期設定のサーバより早いサーバが存在すれば、以後の作業の時間短縮にもなりますので面倒くさがらずにやってみましょう。
まずは、初期設定のまま wget と netselect をインストールします。以下のコマンドを順次、実行してください。
# apt-get update # apt-get install wget # apt-get install netselect
wget はコマンドプロンプトから http でアクセスを行い、データを取得するコマンドです。インストールが終わりましたら、このコマンドを使って Debian のパッケージを取得できる最新のホストリストを取得します。以下のコマンドを実行してください。
# wget http://www.debian.or.jp/debian-ftp-mirrors-jp # netselect -vv `cat debian-ftp-mirrors-jp`
上記のコマンドを実行すると、その結果の最後に最も結果の良かったホストのスコアとホスト名が表示されます。
結果の良かったホストが ftp://ring.asahi-net.or.jp/ であったとすると、Debian JP Project の FTP & ウェブサイト のページを参照して URL を取得します。
この URL が判明したら /etc/apt/source.list を以下のように編集します。
:(略) # Stable #deb http://ftp2.de.debian.org/pub/debian stable main contrib #deb http://ftp2.de.debian.org/pub/debian-non-US stable/non-US main contrib #deb ftp://ftp.dti.ad.jp/pub/Linux/debian stable main contrib #deb ftp://ftp.dti.ad.jp/pub/Linux/debian-non-US stable/non-US main contrib deb ftp://ring.asahi-net.or.jp/pub/linux/debian/debian/ stable main contrib deb ftp://ring.asahi-net.or.jp/pub/linux/debian/debian-non-US/ stable/non-US main contrib # Sources #deb-src http://ftp2.de.debian.org/pub/debian stable main contrib #deb-src http://ftp2.de.debian.org/pub/debian-non-US stable/non-US main contrib #deb-src ftp://ftp.dti.ad.jp/pub/Linux/debian stable main contrib #deb-src ftp://ftp.dti.ad.jp/pub/Linux/debian-non-US stable/non-US main contrib deb-src ftp://ring.asahi-net.or.jp/pub/linux/debian/debian/ stable main contrib deb-src ftp://ring.asahi-net.or.jp/pub/linux/debian/debian-non-US/ stable/non-US main contrib :(略)
時間あわせ †
アップデートする前に、ここでまだ玄箱の時間設定が行われていないと思いますのでやっておきましょう。
ntpdate を以下のコマンドを実行してインストールします。
# apt-get install ntpdate
インストールが終了したあと、
/usr/sbin/ntpdate ntp.jst.mfeed.ad.jp
として時刻を修正してください。
また、玄箱は非常に時間が狂いやすく、定期的に ntpdate を実行してやることをお薦めします。これを実践するためには、cron を使って、一時間に一度、ntpdate を実行してやります。以下のようなスクリプトを作成して /etc/cron.hourly においておけば、一時間に一度定期的に ntpdate を実行してくれます*4。所有者を root に設定して、実行権を与えておくことを忘れないでください。
/etc/cron.hourly/ntpdate
#!/bin/sh NTPDATE=/usr/sbin/ntpdate NTPOPT=-s NTPSVR=ntp.jst.mfeed.ad.jp test -x $NTPDATE || exit 0 $NTPDATE $NTPOPT $NTPSVR
最新安定版にアップグレード †
Jun 21, 2005 時点の Debian GNU/Linux の最新の安定版は 3.1(Sarge) です。
ここまでの設定が終了し、アップグレードする覚悟が決まったら、以下のコマンド一発でアップグレードが始まります。
# apt-get -u dist-upgrade
おびただしい数のパッケージのダウンロード、及びインストール中、何度か初期設定をどうするかなど質問がありますが、あとで設定しなおすこともできますので、基本的にはデフォルト(リターンキーを押すだけ)でがんがん前に進みます。デフォルトで前に進まない箇所があります *5 がそのときはじっくり説明を読んで適切な値を入力してください。
再びコマンドプロンプトに戻ってきたら、アップグレード終了です。基本的には、再起動は不要なはずですが、気持ち悪ければ再起動しておきましょう。
リンク集 †
Debian 関連
参考図書 †
その他 †
*1 Jun 2005 時点最新/以下では単に「イメージファイル」と呼びます
*2 付属のマニュアルをよく読んでいればパスワードはわかるはずです
*3 あと Linux で fdisk を使ってパーティションの作成をやったことがない方は、このコマンドについて別途学習してからチャレンジしていただくか、標準のパーティション構成を利用することをお勧めします
*4 実行したログが syslog に残るようになっていますので、しっかり実行しているかは /etc/var/syslog を確認してください
*5 私が行ったときは一箇所だけ( procmail か sendmail のアップデート時)だったと思います


