2004年5月5日記
はじめに |
ハックキット提供者の山下氏は、ハックキットは玄箱で「apt-getができるまで」を目的としていると言っておられます。ハックキットで好きなものを簡単にインストールできる環境になったのであとは好きにしてねという意味でしょうね。 好きにしろとはいっても、玄箱は通常のPCのようにディスプレイデバイスが付いていませんから、巷のデスクトップ版Linuxディストリビューションのように、全てGUIで設定できるようにはなっていません。 Linuxの動作の仕組みを理解したい向きは、telnetでログインして、samba, netatalk, proftbd, ..などをインストールして、使えるようにしていくのも一興でしょう。(とはいっても、デーモンの動かし方くらいしかわかるようにはならないけど)
ハックキットのご本尊のページでは、dhcpサーバ、sambaの設定方法まで解説されていますが、それ以外は特に説明がありません。自分で調べてやれということでしょう。 私の場合、10年前のunixしか知らず、当時は/etc/rc.localというシェルスクリプトに自分が起動させたいデーモンに関する記述を追加する方法が一般的でしたが、これならDOSのAUTOEXEC.BATのメカニズムと余り変わらないので理解が容易だったのですが、最近は複雑になってますね。Linuxの流儀に慣れるまでたいへんです。 Linux初心者にはちょっときびしいので、典型的な手順をまとめました。次のようなかんじかな。自分のための覚え書きのための駄文です。
おまじない |
ハックキットをインストール後に最初にやることをまとめました。最初の3つのトピックスの情報源は「2ちゃんねる」です。
玄箱は24回起動するごとにfsckを行うようになっているらしく、それを抑制するためのおまじない。
|
# tune2fs -c0 -i0 /dev/hda1 # tune2fs -c0 -i0 /dev/hda3 |
shutdown -h nowやrebootコマンドでシャットダウンや再起動ができないようになっているので、できるようにするおまじない。/etc/init.d/haltの記述に赤字部を追加。
# See how we were called. case "$0" in *halt) message=$"Halting system..." command="halt" echo -n "EEEE" > /dev/ttyS1 ;; *reboot) message=$"Please stand by while rebooting the system..." command="reboot" echo -n "CCCC" > /dev/ttyS1 ;; *) echo $"$0: call me as 'rc.halt' or 'rc.reboot' please!" exit 1 ;; esac |
xterm, ktermがrootからしか使えなかったので、使えるようにするおまじない。/etc/fstabの以下の記述を変更。
none /dev/pts devpts gid=5,mode=20 0 0 を none /dev/pts devpts gid=5,mode=620 0 0 に変更 |
私の場合、tcshがなければはじまりません。でも、Linuxerはbashを使うのが正しい流儀?
/etc/shellsにtcshを追加し、普段使っている.cshrcを玄箱に持ってきた。
システム関係の設定をするとき、suでrootになってやるのでもいいのですが、suのままほったらかし状態にでもなったらあぶないんで、sudoのほうがいいかな。MacOS Xユーザにはお馴染みか。
| # apt-get install sudo |
|
$ sudo やりたいコマンド Password: パスワード入力 |
サーバ機能のインストールと設定 |
まずは、必要なサーバ機能のインストール。telnetでログインし、suしてから、
| # apt-cache search package-name |
| # apt-get install package-name |
| # rpm -qa |
|
# apt-get install samba # apt-get install netatalk |
サーバ機能(デーモン)を有効にする設定を、まとめてみます。
chkconfigで起動時に有効になるデーモンの一覧を見る。ここで0〜6の数字はランレベル。
# chkconfig --list netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off random 0:off 1:off 2:on 3:on 4:on 5:on 6:off rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off inet 0:off 1:off 2:off 3:on 4:on 5:on 6:off keytable 0:off 1:off 2:on 3:on 4:on 5:on 6:off lpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off httpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off ntpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off dhcpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off proftpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off postfix 0:off 1:off 2:off 3:off 4:off 5:off 6:off named 0:off 1:off 2:off 3:off 4:off 5:off 6:off FreeWnn 0:off 1:off 2:on 3:on 4:on 5:on 6:off smb 0:off 1:off 2:off 3:on 4:on 5:on 6:off atalk 0:off 1:off 2:off 3:on 4:on 5:on 6:off webmin 0:off 1:off 2:on 3:on 4:off 5:on 6:off xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
起動時にデーモンを有効にするには、
| # chkconfig daemon-name on |
例えば、Webサーバを有効にするには、
| # chkconfig httpd on |
あとは、必要に応じてデーモンの設定ファイルを書き換える。設定ファイルは、/etc内にある。daemon-name.confのような名前になっている。
これで玄箱を再起動後にデーモンが有効になりますが、再起動せずにデーモンだけ起動するには、
|
# cd /etc/init.d # daemon-name start |
既に起動しているデーモンの設定ファイルを書き換えて、玄箱を再起動せずにその設定を有効にするには、
|
# ps ax | grep daemon-name でデーモンのプロセスIDを表示させて、 # kill -HUP デーモンのプロセスID |
基本的な作法は、こんなところか。直接デーモンを起動させるのではなく、inetdで必要なときに起動させる設定といった例外もあるようだけど。 inetdを介してデーモンを起動させるのは、以下のような手順。ftpサーバを例に解説。
ftpサーバといってもProftpdとかwu-ftpdとか幾つかの選択肢があるようです。LinuxではProftpdを使うのがトレンドらしい。
| # apt-get install proftpd |
/etc/inetd.confの以下の行をコメントアウト。
|
#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd |
/etc/proftpd.confの以下の行をコメントアウト。
| ServerType inetd |
proftpdの有効化と確認
|
# chkconfig proftpd on # chkconfig --list proftpd |
再起動せずに有効化
| # kill -HUP inetdのprocessid |
日本語環境 |
あまりまじめにやってません。玄箱はサーバなんで、日本語ドキュメントが読める程度でよいかな。
FreeWnnのインストールと設定
|
# apt-get install FreeWnn # cd /etc/rc.d/rc3.d # ln -s ../init.d/FreeWnn S99FreeWnn |
emacsのインストールと設定
|
# apt-get install emacs # apt-get install emacs-dl-wnn |
.cshrcに以下の記述を追加
|
alias emacs 'emacs -nw ' alias ls 'ls -vC --show-control-chars -F \!*' |
SambaでWindowsから作った漢字名のディレクトリでも、ちゃんとtelnetからのlsで表示されます。
emacsで日本語入力するには、CTRL+「\」キーで漢字モードにします。
日本語マニュアルのインストールと設定
| # apt-get install jman_pages |
.cshrcに以下の記述を追加
|
setenv MANPATH /usr/share/jman:/usr/local/man:/usr/share/man:/usr/X11R6/man setenv PAGER 'less -K euc' alias less 'less -K euc ' alias man 'jman' |