http://kuro.dsk.jp/data/dist/debian_2006_06_10_dist.tgz をダウンロード
debian_2006_06_10_dist.tgz → tmpimage.tgz 名前変更
tmpimage.tgz → tmpimage.zip zipに圧縮
tmpimage.zip → image.zip 名前変更
玄人志向のサイトより玄箱セットアップデータ(ファームウェアアップデート Ver1.02 (2004.04.20):20MB
http://www.kuroutoshikou.com/products/kuro-box/kuro_102.zip)をダウンロード後解凍し、上記ファイルのimage.zipと入れ替える。
- ファイル操作:セットアッププログラムの実行
- 上記作成した玄箱のインストールキット内のexeファイルを実行し、インストールを完了させて(インストール時にはWindowsの パーソナルファイアウォールはOFFにしておかないとキットがうまく動作しないことがあります)本体のボタンで再起動 (長押し→電源落ちる→再ボタンで起動)してから次のステップへ移ります。
設定の途中で失敗してしまったら、手動でEMモードに落とす(#rm -rf / で全てのファイルを削除してEMモードに落とす)か、 HDDを取り外して別PCでフォーマットしてEMモードにしてからやり直して下さい。
私はかなりここでつまづきましたが、調べたところセットアッププログラムのimage.zipは50Mくらいまでに抑えておかないと セットアップに失敗して玄箱の初期化を行わなければならなくなります。
2.リモートログイン
- コマンド:リモートアクセス
- サーバにリモートアクセスするにはwindows標準のtelnetでもいいですが私はSSH接続も出来る「Poderosa」 を使用しています。
Linuxの設定を変更するには設定ファイルを直接編集します。そのためにはLinux特有のエディタを使いますが操作方法がかなり特殊なので Windowsをメインに使っている人には第一の難問になると思います。簡単な使い方の説明は→こちらへ
インストール直後の玄箱のIPアドレスは「192.168.0.100」に設定されています。 今後はWindowsから遠隔操作によって玄箱の設定を行っていきます。
# telnet 192.168.0.100ユーザ名:tmp-kun、パスワード:tmp-kunでログインする
$ su rootログイン後、rootにユーザー変更する。パスワード:root
※rootになるとシステム上で全ての権限を持つことができます。
3.カーネル再構築
- ファイル編集:/etc/apt/sources.list
- /etc/apt/sources.list内の文字を全て消して下記の内容に書き換える
Debianのsarge化(FTPの使えない環境だったらftpをhttpに変更する)
deb http://security.debian.org sarge/updates main contrib
deb http://ftp.dti.ad.jp/pub/Linux/debian sarge main contrib
deb http://ftp.dti.ad.jp/pub/Linux/debian-non-US sarge/non-US main contribv deb-src http://ftp.dti.ad.jp/pub/Linux/debian sarge main contrib
deb-src http://ftp.dti.ad.jp/pub/Linux/debian-non-US sarge/non-US main contrib
- コマンド:アップグレード
- # apt-get updateいろいろ聞かれるが、全てデフォルトでOK
# apt-get upgrade
# apt-get -u dist-upgradeいろいろ聞かれるが、全てデフォルトでOK。ただし、eximの設定は「5」を選択する
# apt-get install less各プログラムをインストールする
# apt-get install patch
# apt-get install wget
# apt-get install gcc
# apt-get install ncurses-dev
# apt-get install bzip2
# apt-get install module-init-tools
- コマンド:kernelimageの設置
- # cd /boot//boot/に移動
# wget http://www.genbako.com/kernelimage-2.6.20-kuroBOX.tgzカーネルイメージをダウンロードする
# tar -zxvf kernelimage-2.6.20BOX-kuro.tgzkernelimageを/boot/に展開する
- コマンド:再起動と再ログイン
- # reboot再起動# telnet 192.168.0.100telnetにてログイン。ユーザ名:tmp-kun、パスワード:tmp-kunでログインする
$ su rootログイン後、rootにユーザー変更する。パスワード:root
うまく行っていればログイン時にカーネルのバージョンが2.6系になっているはずです
- コマンド:モジュールの設置
- # cd /lib/modules/lib/modules/ディレクトリへ移動
# wget http://www.genbako.com/modules-2.6.20-kuroBOX.tgzモジュールをダウンロードして展開
# tar -zxvf modules-2.6.20-kuroBOX.tgz
# depmod -aモジュールの依存性リストを作成
# reboot再起動
※カーネルの再構築の必要のない(ファイアウォール:iptablesが必要ない)人は以降のステップを飛ばして 「4.パスワード変更」から進めてください
- コマンド:kernelと修正ファイルのdownload・設置
- # cd /rootkernelと修正ファイルをダウンロードして/root/に展開する
# wget http://www.genbako.com/kurobox-sources-2.6.20.patch
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
# tar -jxpvf linux-2.6.20.tar.bz2
- コマンド:kernelの修正パッチ
- # cd linux-2.6.20カーネルに修正ファイルを適応させる
# patch -Np1 <../kurobox-sources-2.6.20.patch
- コマンド:kernelの再構築
- # cp config_kurobox .configiptableに関するnetwork関係をチェックする(チェック:スペース、決定:エンター、戻る:ESC)
# export ARCH=ppc
# make menuconfig
Networking ---> カテゴリ移動ESCで最初まで戻って「Do you wish to save your new kernel configuration?」の質問で「Yes」
Networking options ---> カテゴリ移動
Network packet filtering framework (Netfilter) ---> チェックしてカテゴリ移動
Network packet filtering debugging チェックを入れる
Core Netfilter Configuration カテゴリ下全てチェックする
IP:Netfilter Configuration カテゴリ下全てチェックする(全てチェックを入れたらもう一度Core Netfilter Configrationの項目の空白欄をチェックする)
# make oldconfig↑90分くらいかかる
# make vmlinux
# objcopy -O binary vmlinux /boot/vmlinux.bin↑60分くらいかかる
# cp System.map /boot/
# make modules
# make modules_installカーネル再構築終了
- コマンド:再起動と再ログイン
- # reboot再起動
# telnet 192.168.0.100ユーザ名:tmp-kun、パスワード:tmp-kunでログインする
$ su rootログイン後、rootにユーザー変更する。パスワード:root
- コマンド:後処理
- 構築に使用した不必要なファイルを削除する
# rm /boot/kernelimage-2.6.20-kuroBOX.tgzここまででセットアップとカーネルの再構築は終了です。iptableも使用できるようになり、ファイアウォールの設定も可能になります。
# rm /lib/modules/modules-2.6.20-kuroBOX.tgz
# rm /root/kurobox-sources-2.6.20.patch
# rm /root/linux-2.6.20.tar.bz2
4.パスワード変更
デフォルトのパスワードを使用し続けるのは最もやってはいけない事なのですぐに変更します。 また、デフォルトでは設定できるパスワードの文字数が少ない場合がありますので変更しておきます (設定が「5文字」だと「rootpassword」というパスワードを設定しても「rootp」の5文字だけでログインできてしまいます。 本人も案外気づきません)
- ファイル編集:/etc/pam.d/passwd
- ※Debian Etchにアップグレードした場合は/etc/pam.d/common-passwordのファイルを編集します
password required pam_unix.so nullok obscure min=4 max=8 md5(md5を追加)これでMD5を用いたパスワードになるので文字列が最大8文字以上になる(デフォルトのDESだと最大8文字)
- ファイル編集:/etc/login.defs
- ※Debian Etchにアップグレードした場合はこの項目は無視しますPASS_MAX_LEN 40パスワードの最大文字数が40になる
- コマンド:パスワード変更
- # passwd rootコマンド入力後、rootの新パスワードを2回入力して変更する
5.sshでリモートログイン
リモートアクセスにはtelnetを使いましたが暗号化されていない通信でサーバとやり取りするのでセキュリティ上好ましくありません。 そこで暗号化しながら通信する「SSH」をインストールします
- コマンド:SSHインストール
- # apt-get install sshSSHのプログラムをインストール。質問はすべてデフォルトで答える
Install these packages without verification [y/N]? と聞かれたらyを入力
- ファイル編集:/etc/ssh/sshd_config
- PasswordAuthentication yes上記設定をするといきなりrootからログインができなくなります。つまり、はじめは別ユーザでログインしてから $ su rootして「root」になるというワンクッションをはさむことになります(パスワードを2回入力する必要があるのでセキュリティが高まる)
PermitRootLogin no
注意が必要なのはこの設定をした後に少なくともユーザーアカウントが1つは必要だということです。 でないとSSHでログインできなくなります(この時点では最初から「tmp-kun」がユーザーとして登録されています)
※再起動後のリモートアクセスはTelnetよりもSSHで行ったほうがセキュリティが高いです。Windowsには標準で Telnetしかインストールされていませんので冒頭で紹介した「Poderosa」などを使用してください。
SSHでの接続(例:tmp-kunとして接続する場合)
下記の方法は別のLinux環境(Knoppix等)からのアクセスする場合
- コマンド:リモートアクセス
- # ssh 192.168.0.100 -l tmp-kunパスワードを聞かれるので「tmp-kun」とパスワードを入力する(別ユーザーでリモートログインするときは「tmp-kun」の部分を「別ユーザ名」にする)
6.各種設定
SSHでのリモートログインのために新しいユーザーを作成します
- コマンド:ユーザ追加
- # useradd "ユーザー名"新規ユーザ追加。適当な名前を入力
# passwd "ユーザ名"追加したユーザのパスワード登録
ネットワーク上でのサーバのIPアドレスを変更します。デフォルトの192.168.0.100のままでもかまいませんが他のPCや玄箱と重複しないようにしましょう。
- ファイル編集:/etc/network/interfaces
- iface eth0 inet static
address 192.168.0.200 ←この部分を変更すればOK
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
iface lo inet loopback
auto eth0 lo
上記の設定だと192.168.0.*のネットワーク内で固定IP「192.168.0.200」と設定しています
もしも固定IPではなくDHCPによる動的IPを習得する場合には下記の記述をします
iface eth0 inet dhcp
iface lo inet loopback
auto eth0 lo
ネットワーク上でのサーバのホスト名を変更します。デフォルトの「KURO-BOX」ままでもかまいませんが他の玄箱と重複しないようにしましょう。
- ファイル編集:/etc/hostname
- Debian例えば、上記の設定だとホスト名「Debian」で登録します
- ファイル編集:/etc/hosts
- 127.0.0.1 localhost上記の設定で192.168.0.200と「Debian」との関連付けをします
192.168.0.200 Debian ←この部分を変更
余計なアプリケーションを削除します。必要のないプログラムはセキュリティ上、好ましくありません。
telnetは何かと不正アクセスのツールとして使用されますので削除します (--purgeのオプションを付けると設定ファイルごと削除してくれます)
- コマンド:アンインストール
- (必ず再起動後に「SSH」で接続してから削除する)。でないともしもssh接続がうまくいかない状態でtelnetを削除してしまったら 玄箱を操作する方法が無くなってしまいます。
# apt-get remove --purge telnetd
ユーザ名もパスワードもバレバレの「tmp-kun」アカウントは速攻で削除しましょう
- コマンド:ユーザー削除
- # userdel tmp-kuntmp-kunでログインしてからrootへ#suした場合は削除できないので#exitコマンドでtmp-kunでのログインを解除してから 新しく作成したユーザでログインしなおしましょう(その後で#suコマンドでrootにログインする)
tmp-kunユーザーを削除。tmp-kunさん、おつかれさまでした。
サーバを最新の状態に保つ為に、こまめに下記のコマンドを実行してアップデートしましょう
「update」でパッケージの更新情報をダウンロードし、「upgrade」で更新されているパッケージのアップグレードを行います。
- コマンド:Debianアップデート
- # apt-get updateシステム全体をアップデート
# apt-get upgrade
7.Debian Etchへアップグレード(2008.01.12更新)
PHP5とMySQL5をapt-getでインストールしたかったのでSargeから次期バージョンのEtchへアップグレードさせました。
- ファイル編集:/etc/apt/sources.list
- sources.list内の文字を全て消して下記の内容に書き換える
Etchへのアップグレードに必要なsources.listはこちらのサイト 「オモイノホカ日々徒然」 を参考にさせていただきました。
deb http://security.debian.org etch/updates main contrib non-free
deb http://ftp2.de.debian.org/pub/debian etch main contrib non-free
- コマンド:アップグレード
- # apt-get updateいろいろ聞かれるが、全てデフォルトでOK。ただしeximの設定は「5」を選択
# apt-get -u dist-upgrade
ログインしたときにエラーメッセージが表示される場合は下記のファイルの文章をコメントアウトしておく
- ファイル編集:/etc/login.defs
- 設定ファイル内にある下記の設定がしてある行の先頭に「#」を入力してコメントアウトさせる
#FAIL_DELAY
#QUOTAS_ENAB
#NOLOGIN_STR
#ENV_HZ
#PASS_MAX_LEN
#CHFN_AUTH
#CLOSE_SESSIONS
玄人志向 KURO-BOX/PARTS KURO-BOXシリーズ用補修部品セット 
玄人志向 KURO-SATA 
KURO-BOX/PRO専用シリアルコンソールキット 