難儀なインストール


俺がタコなのか? どういうわけだか知りませんが, とにかくインストーラが 20G のハードディスクを認識しないので, しょうがないので次のようにしてインストールしましたとさ.

ディストリ選び

Vine の 2.0 というのを取って来たが, ネットワークインストールできないし CD-R も無いのでステ. てゆうか, そもそもハードディスクを認識しやがらないんですが, なんでですか? hd=ほげ,ほげ,ふが とかやっても全然だめです. まあ, 私も Linux 使って長いんで, 一通りのことはやりましたよ. はい. 他のディストリも考えたが, もうめんどくさいので 今使っているのをインストールすることにする. あとでアップグレードすればいいや.

パーティション

強みはとりあえずLinux が動くホストが 2個あり, ネットワークもあるというハードウェア環境だ. とりあえず据え置きから cdrom を外して, 代わりに インストールする予定の IDE ハードディスク をとりつける. インストーラではあれだけ苦労して 全然だめだったのに, なぜか現用システムからは 何の変哲も無い普通のハードディスクとして, /dev/hdb から普通にアクセスできる. カーネルのバージョンは 2.2.14 である.

fdisk でパーティションを切る. エキスパートモードで c,h,s=39560,16,63 というので認識させる. この値はカーネルが起動したときにドライブから取得した値で, dmesg で見ることができる. / に 200M /tmp に 1G /var に 1G /usr に 18G (つまり, 残り全部) くれてやる. /home は別の物理デバイス(現用の 4G)なので, これでいいのだ. 全部プライマリパーティションで収まって, 具合良い感じ.

for 文でまわして, /dev/hdb[1-4] に ext2 ファイルシステムを作成する. 20G のドライブを esfsck 特に -c オプションなんかつけてやると, どれだけかかるかわかったもんじゃないので, ファイルシステムを作っただけ. チェックはしなかった.

インストール(なのか?)

さて, どうやってインストールしてくれよう. なんせ, インストーラがハードディスクを認識しないので, パッケージをあるパーティションにコピーして ローカルディスクからインストールという手も使えない. いろいろ考えたが, 今動いている自宅据え置きマシンの構成を そのまま引っ越せば問題無かろう. cp -prd でディレクトリごとコピー してやれ. (p はファイル情報の保存, r は再帰, d は symlink は symlink のまま.) つうことで, まず新しいドライブの, ルートパーティションになる予定の パーティション /dev/hdb1 をマウントする. /tmp/ROOT にでもマウントしよう.

/tmp/ROOT に usr とか tmp とか var とかをのマウントポイントを作る. /dev/hdb[2-4] をそれぞれそこにマウントする. /boot とか /etc とか /lib なんかを cp -prd で全コピー. /usr/ も /var も全コピー. これでインストールはだいたい終りだ. ところで, これでハードリンク (違うファイル名でも inode が同じやつ) はどうなったのかな? 違うファイルになったのかねえ. でも ハードリンクをそのまま, ってことにすると, cross device link エラーになってしまうからのう. ようわからんのう.

cp -prd が効かない人びとについて

/dev はそういうわけにはいかんので, mknod を /dev/ にあるとおりそのままやってくれるような しょうもないシェルスクリプトを書いた. mknod のマニュアルを参照のこと. 最初は, コマンドラインから一発でやろうとしたんだが, グチャグチャになってしまい, あきらめた. 幾つか named pipe が作れてないのだが, 一旦 boot してしまえばこっち のもんだ. 必要になってから作ればいいや. てゆうか, hd[ab][1-??] と fd0H?? , それから tty 系があれば, とりあ えず起動だけはするだろ. これで大丈夫だろ?

若干ファイルシステムの構成が違うので, /etc/fstab を書き直しておく. とりあえず, /home は無し, という設定でいいや. 必要なら, とりあえずノートのホームを nfs でマウントしてごまかそう.

起動してみよう

じゃあデバイスを sync して umount しよう. そして, 一旦電源を遮断. 接続を変えて, インストール(ってゆうのか?これ. ) したドライブをプライマリ(マスタドライブというのですか?) のジャンパ設定にして, あらかじめ dd で作っておいたカーネルの フロッピを挿して, 電源投入だ. どうなるかな?

動きましぇーん. そんなことだろうと思ったよ. cp -r でインストールできりゃ世話無いよ. とおもいつつ, フロッピをチェック. 壊れてます. わはは. そこで, カーネルイメージのフロッピを作り直す. dd if=/vmlinuz of=/dev/fd0 という 例の奴です. できました. じゃあ気をとりなおして再起動.

おお. 動きました. 意外とあっけないね. じゃあ lilo でもインストールしよう. /sbin/lilo っと. できあがり. よし. ちゃんとハードディスクから一発で起動するぞ. と.

Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/hda1             198275   20922   167099     11%   /
/dev/hda4            16978862  967455  15127165      6%   /usr
/dev/hda3             991000       1   939793      0%   /tmp
/dev/hda2             991000   12229   927565      1%   /var

まさに無限のドライブだね. これで gnome とかフルセット入ってんだぜ. gimp だってバージョン 2つ入ってるし. どうかしてるよな. 使い切れねえよ.

あとは, ユーザのデータベース(uid が違うんだよね)とか, サーバの設定を引っ越して出来上がりだよ. わりと楽勝だ. まあ, 今の hoy がこのでかいディスクでうまく起動しない可能性は あるが(それに備えて root パーティションは小さくしてある). むう. 本当は glibc-2.1 にしたかったんだが, これじゃどうにもね. あとはサーバの設定とユーザの引っ越しだね.

xemacs-21.1.9

とりあえずコンパイルだけしてみた. うーむ. どうやって日本語出すんだ? 全然わからん. てゆうか, global-set-key とかが動いてませんよ? define-key を使えというお知らせが出ています. そのへんからやりなおしですかね. きびしー. 厳しいねえ. それから, とりあえずフレームとかが, gtk に比べると 全然ださいです. それを言ったら GNU-EMACS なんか論外なんですけどね. ちょっと残念だったのは, そのままでは gmc との d + d もできないみたいなところ. なんか頑張ったらできるのかも知れんが, drag and drop 関係の説明が info に載っているのを見たが理解不能だった. こりゃ引っ越しも大変そうだ. mule-19.34 が完璧に動いている今, とりあえず, 今のところ無理して乗り換えるほどのものでもなさそうである. configure のオプションは
--with-canna --with-mule --with-xfs --prefix=/usr/local/xemacs
であったよ.

開発者が「ツールキットには Gtk を, そして Lisp エンジンには guile ( scheme インタプリタ) を使うのが, 今の目標だ」 なんて言ってるところは, 実現するかどうかは別にして, (それを別にしちゃったらおしまいだけどね) やる気は感じられるよ. ただ, 付属の文書からでは, どうにも日本語の入力方法が 全然わからなかったところは, なんとかしてほしい.

結局あいかわらず mule-19.34 を使っている. tcsh から zshell への引っ越しはもっと簡単だったがのう.