(2007.12.30)

LASER5 Linux 6.4インストール記

いやはや、Linuxのインストールなんて何年ぶりだもんで、コマンドもうろ覚えで困った困った。

●目的

MS-5203(Socket 7)マシンで60GBのファイルサーバを作成する。

  ちなみに、古いLinuxを使用するのは、OS/2からファイルの書き込みを可能にするため。市販のLANDISK等で使用されている最近のLinuxでは、拡張属性を持つOS/2ファイルは書き込めない。おまけに、LANDISKは(静音性を売り物にしていても)けっこう騒いからね。どうしても、こういう形で自作するしかない。ちなみに、ウチのMS-5203はファンレス仕様。

●前提条件

MS-5203(MBはMS-5186)のBIOSはAWARAD BIOS v4.51であるため、32GB以上のHDDは認識しない。このバグは最新BIOSにアップデートしても改善されない。しかし、uniflashを使ってWim'sのパッチ当てれば128GBまで認識するようになる。なお、BIOSをアップデートをすると、ブート時にエラー表示が出てビビるが、これは設定が初期化され、CPUファンの警告が有効になっているため(ファンレス動作している)。

  Wim'sのパッチを当てた直後、極めて怪しい画面クラッシュが起きて、ブート不能になった。やっちまったかな〜〜と思ったが、電源を落としてしばらく放置しておいたら直ったようだ。かなり不安だが。

このLinuuxでは、60GB全体を一つの区画としてマウントすることは不可能。ブート区画は8GB以内というシバリがある。したがって、ブート区画8GB+ファイルサーバ用区画49GBというパーティショニングにした(ちなみに、このHDDの容量は60GBだが、Linuxのfdiskのカウント方法では57GB程度になる)。

当初、本機に搭載していたCD-ROMドライブ(Glory BCD F560A; x52)は読み取りエラーが頻発して使い物にならなかった。乾式クリーナーで何度かクリーニングをしてみたが、若干の改善は見られたものの、結局正常読み込みは不可能だった。そこで、IBM製の4倍速ドライブ(FX400C)に換装した。こちらはノープロブレム、速度的にも全然問題なし。

●インストール

いきなりインストーラのGUI画面でコケた。画面が壊れて全然使い物にならず。仕方ないので、初期メニューでtext[Enter]としてテキストモードのインストーラを使用した。基本的にインストール自体は順調に見えたが、実はデフォルトではsambaはおろかtelnetサーバやftpサーバすらンストールされない。この点に関しては後述。それ以外にも、いくつかの留意点があった。

一つはHDDのパーティショニング。前述の8GBのシバリがあるのでけっこう面倒臭い。「/」に8GB、スワップに256MBの容量を明示的に割り当て、残りを「/srv」(サーバ用)に自動割当をする方法が良さそうだ。

また、このマシンにはeth0とeth1の二枚のLANカードがある(以前、ルータに使用していたときの名残)。ところがイントール時のネットワーク設定ではeth0しか設定できない。無論、インストール後にはeth1も設定できるのだが、インストール時にはeth1はデフォルト設定=DHCPになったままだ。そのため、ネットワークにつながずにブートするとeth1がDHCPサーバを探しに行ってなかなか帰ってこない。故障と間違えるので注意。無論、設定可能なLANカード(eth0)の方は手動でIPアドレスを割り振ること。我が家ではDHCPは禁止。

 eth0…オンボード(RTL8139B)
 eth1…PCI(RTL8139?)

さらに、パスワードの設定でも戸惑った。インストール時にはrootと一般ユーザーを設定するようになっているが、パスワードが短いと受け付けてくれない。家庭内LANでは少々ありがた迷惑である。とりあえず長めに付けて、あとで短いものに変更することにした。

そして、一番の問題がsambaがインストールされないこと。inetd、telnetサーバ、wu-ftpd、apacheといった必須サーバ類も一切インストールされない。これには驚きかつ戸惑った。GUIモードならばインストール可能なのに。textモードでも「既存システムのアップグレード」を選べば、インストールするパッケージを選択できるんだが、ウチのシステムの場合、ATOK12のインストール段階でコケて全く前に進まなくなる(もっと待っていれば何とかなるのかなあ…)。結局、システムインストールのあとで、GnoRPMSを使ってサーバ類をインストールすることになった。

なお、インストールの最後の段階でX-Windowの設定に入るが、これは後述のXconfiguratorと同じ物なので、そちらを参照。

●初期設定

インストール直後のLinuxにはいくつか不便な点がある。中でも特に私が気に入らないのは、lsコマンドのディレクトリ表示色。「青」はねーだろ。メチャクチャ見にくい。これは、/etc/DIR_COLORSで設定している。この設定ファイルを直接書き換えてもよいのだが、まあ、システムデフォルトはいじるべきではないし、リードオンリーは設定されているしで、普通はこのファイルを~/.dir_colors(小文字)にコピーして、その中身を書き換える。
 DIR 01;34  #directory
の行の「34」の部分を「33」に書き換えれば、青から黄色になる。で、書き換えのあと、
 eval `/usr/bin/dircolors ~/.dir_colors -b`
を実行すると、変更が反映される。しかし、vi/etc/DIR_COLORSを書き換えて:w!で強制保存する方が現実には便利かも。

もうひとつ、コマンドラインの操作中に不正な操作をするとビープ音が鳴るのもいやだ。こちらも/etc/inputrcをやっぱり~/.inputrcにコピーして、set bell-style noneを書き加えればよいようだ。これは書き換えだけで有効になる模様。

あと、キーボードによっては[Ctrl]と[CapsLock]の入れ替えも必要になるだろう。

パスワードの変更は、suでrootに移行した後、passwd <ユーザー名>で設定すると便利。通常は6文字以上必要だが、この方法ならば短いパスワードでも無理矢理設定することが可能。また、ユーザーの追加には /usr/sbin/useraddを使う。

●X-Windowの画面設定

Linuxの設定はすべてコマンドラインで可能だが、X-Windowを使うと便利なことも多い。ただ、そのためには、X-Windowがきちんと立ち上がらないといけない。これがそんなに簡単じゃない(^_^; X-Windowの画面設定には基本的にXconfiguratorを使用する。これは日本語表示のメニュー式設定プログラムだが、そのまま起動したので日本語が化けて使い物にならない。そこで、
 kon[Enter]
で漢字シェルに移行したあと、
 Xconfigurator[Enter]
で起動する。ちなみに、我が家のおんぼろディスプレイ(SANYO製の超旧型)では[カスタム]の[ノンインターレースSVGA, 1024x768@60Hz, 800x600@72Hz]の設定を選ぶとよい。また、CyberBlade/i7とK6-2/200MHzという環境ではフルカラーは重すぎて無理。ビデオモードの選択メニューでは、8bit(256色)の1024x768のみを選ぶこと。
 startx[Enter]
でX-Windowが起動する。ちなみに、Xの強制終了はCtrl+Alt+BackSpace。

画面最上部にメニューバーを表示することも可能。このメニューの[お気に入り]にLinuxConfやターミナルソフトを登録しておくとよい。メニューに登録されているプログラム・アイコンを右クリックすれば、[お気に入り]に登録できる。

●LinuxConf

システム設定を変更するには、suでrootになったあとstartxでX-Windowを起動する。デフォルトではGnomeがインストールされているんで、[足跡|プログラム|システム|LinuxConf]を起動すればよい。ここでネットワークやデバイスを含む、ほとんどの設定が可能。

●漢字ターミナル

GnomeのデフォルトのターミナルソフトはGnome termらしいが、これはあまり良くない。何より、色設定やフォント設定が悪く視認性が悪い。そんなもの変えればいいじゃないかと思いがちだが、フォントを別のものに変えたら、Gnome term起動時にクラッシュするようになってしまった。処置なしである。でも、ターミナルソフトは必須。そこで、[プログラム]に登録されている漢字ターミナル「KTerm」を[お気に入り]に登録しておくと便利。

●sambaのインストール

sambaなどのパッケージをインストールするには、Gnomeの[足跡|プログラム|システム|GnoRPMS]を使用する。しかし、このGnoRPMSがけっこう曲者なうえに、そもそもCD-ROM自体がマウントされていなかったようで、元ファイルが見つからなかった。CD-ROMを挿入し直すと自動認識するみたいだが、あらかじめコマンドラインで;
  mount /dev/cdrom /mnt/cdrom
としてマウントしておくとよい。さらに、CD-ROMを認識しても、sambaのパッケージがどこに登録されているのか、探し出すのがこれまた一苦労。[System Environment|Deamon]の中にあるんだが、デフォルト設定じゃ見えないみたいなんだよね。[インストール]ボタンを押して表示されるダイアログのツリーから選ぶ(元ファイルはバイナリCD-ROMの/LASER5/RPMSの中にある)。選んだのは次の5つ;

 □inetd
 □telnet-server
 □wu-ftpd
 □samab
 □apache

X-Windowからインストールすると、LinuxConfの[Linuxconfモジュール設定]で各種サーバの設定も可能になるが、少なくともsambaに関しては設定項目不足の上、コメントアウトしてある[pbulic]設定なども消されてしまう。したがって、LinuxConfではsamba設定はいじらず、/etc/smb.confを直接編集する方が賢明。

インストールが終了したら、他PCからtelnetやapacheの接続を確認すること。sambaはまだアクセス不能な上、WORKGROUP設定によってはマシン自体が他PCから見えないこともある。

●sambaの起動とhost名の問題

まず、sambaの起動と終了方法を確認しておく。suでrootに移ったあと、以下のコマンドで行う。
 起動 /usr/sbin/samba start
 終了 /usr/sbin/samba stop
 確認 /usr/sbin/samba satus
注意点は、コマンドの実行にはフルパスが必要であること。また、起動が[OK]でも、必ずしも動いている保証はなく、statusで動作状況を確認する必要があること。つまり、起動直後に停止してしまう場合がある。そんなアホな…と思うかも知れないが、

host名を変更するとsambaが起動直後に落ちる

のである。これは我が家では再現率100%、ネットで調べると、同じ症状で悩んでいる人はいても、解決はできていない様子。かなり困ったけど(まあ、host名を戻せばいいんだが)、試行錯誤の結果、/etc/hostsファイルが原因と判明した。

  ホスト名からみの問題としては、インストール時にホスト名を省略すると、Windowsからアクセスできない、というのが有名だ。これは、ホスト名の代わりに「lochalhost.…」という名前が使用されてしまうため。だから、ホスト名を明示的に指定してやれば解決する。しかし、ここで述べているようなホスト名変更後のトラブルに関しては(ホスト名を変更する人が少ないせいか)、情報がほとんど見つからなかった。

まず、何でhost名の変更が必要かと言うと…むにゃむにゃ(^^;ヒミツ。では、どうやって変更するかというと;

 host <新しいホスト名>[Enter]
とするか、/etc/sysconfig/networkの中身を書き換える。恒久的な変更なら後者の方が便利(ただし、変更が有効になるのはネットワーク再起動後)。で、sambaが起動直後に落ちるようになるのは、host名とIPアドレスの対応が変更されていないため。/etc/hostsを開いてみれば、古いホスト名が残っているのが判るはず。ここを新しいホスト名に書き換えればよい。

●ユーザー登録

今回一番うっかりしていのがここ。sambaはユーザー登録が必要なんだね。Linuxのユーザー登録が自動的に引き継がれるわけじゃないんだ。う〜む、失念失念。でも、homeディレクトリとかは引き継ぐんだから、アカウントも共通にすればいいのに。ブツブツ…。それはともかく;
 smbpasswd -a <ユーザー名>[Enter]
で、ユーザー登録が可能。この際、パスワードの入力を要求されるが、Linuxのパスワードと同期させることも、別々に設定することも可能(デフォルトは同期らしい)。

●sambaの各種設定

sambaの設定は/etc/smb.confで行う。私の場合、特に重要なのは以下のような点。 設定の変更が終了したら、testparmでパラメータの設定に誤りがないかチェックして終了。sambaを再起動(/usr/sbin/samba restart)させれば、各ホームディレクトリとpublicにアクセス可能になっているはず。

●静音化とRAMDISK

sambaで一番気になるのは、使用していないときでも、かなり頻繁にHDDをアクセスすること。通常の設定だと、3分に1回アクセスしてる。これではHDDの省電力設定も意味がないし、そもそも騒くていやだ。で、何をやってるのかというと、どうやらログの類を定期的に吐き出しているらしい。それならば、RAMDISKを作って、ログをそこに書かせればよい(システムが飛ぶとログも消えちゃうけど…)。RAMDISKの作成は;
  /sbin/mke2fs /dev/ram0 1024 [Enter]…1024(KB)はRAMDISKの容量
  mount /dev/ram0 /ramdisk [Enter]…本来は/mnt/ramdiskとすべきかも
  df [Enter]…ramdisk作成の確認
なお、/etc/fstabに以下のような行を追加しておくと、システム起動時に自動的にマウントしてくれるようだ。してくんなきゃ、mount -aで強制マウント(^^;
  /dev/ram0               /ramdisk                ext2    defaults        0 0
で、ramdiskができたら、/etc/smb.confの[global]セクションに、lock directory = /ramdiskという行を追加して、sambaを再起動させればよい。それでも、まだsyslog(20分に一回くらい)が騒いんだよね。これは、
  daemon syslogd -m 0
のように-m 0オプションを付けてsyslogdを起動し直せばよい。勝手なHDDのアクセスの抑止に関しては《こちら》にまとめておいた。

ということで、とりあえず使えるところまではきたけれど、長い道のりだったなあ。結局、HDDの換装から数えたら1週間くらい掛かってしまった(u_u;) やっぱ、なんだかんだ言ってもLinuxは面倒臭い。現在のディストリビューションはもっと改善されているんだろうけど。ああ、まだプリンタ設定をしていなかったんだった…年明けだな。

●プリンタの設定

あ、パラレルポートの認識やlpdの実行はできてんだ。なので、/etc/printcapを書き換えさえすればよいようだ。

プリンタの設定は、大まかに言って、

@パラレルポートの認識  /etc/module.conf
Aモジュールの組み込み modprobe lp0=0x378,7 (IO=378,IRQ=7)
Blpdの実行 /etc/rc.d/init.d/lpd restart
Cprintcapの設定 /etc/printcap
Dsambaの再起動 /usr/sbin/samba restart

という手順を踏むらしい。 ただし、Bまではインストール時に自動的に組み込まれる。 そのせいか、明示的にmodpropeしてみるとfailする。 だから、printcapに設定を書き込みさえすればよい。

lp:\
        :sd=/var/spool/lpd/printer:\
        :mx#0:\
        :lp=/dev/lp0:sh:sf
てなカンジにする。先頭のlpはプリンタ名なので、好きに設定すればよい。 二行目のディレクトリはスプール用で、ユーザーが明示的に作成する必要がある。 どうも、各行の末尾の\は継続文字で、本来は1行に書くものらしい。 最終行末尾のsfは最後に余分な紙送りをしない、という設定。

【PCうそつき講座目次】 【ホーム】