長らく動きを見せていませんでしたVine Linux関連学習計画ですが、まったくなにもしていなかったわけではありませんでした。まれに立ち上げて、iBookからTelnetでログインして、aptでパッケージのアップデートをしたりなんかしていたりはしたのですよ。でも、それ以外はほとんどなにもしていませんでした。つまりは、ほとんどさわっていないのに同じなんですけどね。
さて、つい先達てVine Linuxが2.6にバージョンアップされました。当初は問題の報告が多く見られたので、少々安定するまで待ってバージョンアップしようと画策。そして、ついにバージョンアップしようと思い立ったのでした。今回のバージョンアップは、以前のCD-ROMからインストールし直す方法ではなくて、aptを利用してやってみました。
aptを用いてバージョンアップする際には、aptの設定ファイルである/etc/apt/sources.listにVine 2.6へのapt lineを加える必要があるとのことですが、残念ながら僕にはそれがどうしたらいいのかよく分からなかったので、Vine Linux MLで紹介された方法をそのまま取り入れることに決めました。そのやり方というのは、/etc/apt/sources.listに、
rpm http://ring.asahi-net.or.jp/pub/linux/Vine/apt 2.6/$(ARCH) main plus plus-noarch updates
を加え、他のパスを全てコメントアウトするというものでした。なので、emacsで/etc/apt/sources.listを開き、パスを書き加え、残りをコメントアウト(行頭に#を挿入)。全て、書かれたまんまにやるという素直さが最初は肝心です(だって分からないから)。
aptでバージョンアップする際の準備はこれで終わりです。これが終われば、後はapt-getうんぬん、をすることになります。
aptの準備ができれば、続いては実際のアップデート作業を行うことになります。suで一時的にrootになり、# apt-get updateをします。実際のアップデートの前に、aptを事前にアップグレードしておいた方がよいという話でしたので、# apt-get install aptをした後に、# apt-get dist-upgradeを行いました。
ぶっちゃけ、アップグレード、インストール作業というのは、以上でほぼ終了なんですよね。自動的にaptが必要なファイルや依存関係を調べてくれて、ダウンロードからインストールまで全てやってくれます。本当に簡単なので、初めてaptを使ったときは、その簡単さに感動しました。こんな簡単でいいんだろうか、今でもちょっとそう思います。
OSのバージョンアップの場合は、ダウンロードファイルの数が多いので時間がかかります。うちのADSL環境では、二百数十MBのファイルをダウンロードするのに三十分強、インストール作業が完了するまでに一時間半ほど掛かりました。
aptが働いている間に食事をしてギターを弾いていると、すべての作業が終わったようです。さあこれでバージョンアップできた、といいたいところですが、実はカーネルだけは別にバージョンアップしなければならないんですね。というわけで、カーネルのバージョンアップにも挑戦です。
カーネルのバージョンアップに関しては、Vine Linuxの公式サイトで公開されている、オンラインマニュアルを参考にしました。
カーネルのアップグレード、設定の方法によれば、必要ファイルをダウンロードしてrpmでインストールするか、あるいはaptでインストールするかの方法を選べるようです。今回は、rpmでのインストールをしてみることにしました。
マニュアルによると、必要ファイルはkernel-2.4.19-0vl11.i386.rpmとkernel-headers-2.4.19-0vl11.i386.rpmとのこと。早速それらをftpでダウンロードして、/rootにコピー。ですが、kernel-2.4.19-0vl11.i386.rpmが、i386とi586、i686の三種類あったので、どれをダウンロードすべきか迷いました。むー、自分の使っているマシンはペンティアム機だから、i586をダウンロードすべきなのかな? との判断により、kernel-2.4.19-0vl11.i586.rpmをダウンロードしました。なお、ここまではTelnet経由での作業です。
インストールについても、マニュアル首っ引きでの作業です。
コンソールからrootでログインして、シングルユーザモードに移行、/rootへ移動しました。そしてそこで# rpm -ivh kernel-2.4.19-0vl11.i586.rpm。これで、カーネルのインストールは完了したはずです。
カーネルのバージョンが変わったので、LILOの設定を変更します。LILOの設定ファイルは、/etc/lilo.conf。例のごとくemacsで開いて、マニュアルどおりに設定を変更。emacsを終了して、liloとタイプしました。多分これでLILOの設定も大丈夫のはず。
最後に、ヘッダファイルをインストールします。ですが、# rpm -Uvh kernel-headers-2.4.19-0vl11.i386.rpmではインストールできなかった。どうやら、ソースファイルが必要だったらしいのです。なので、素直に# apt-get install kernel-headers。例によって自動的にファイルを取ってきて、インストールしてくれました。
以上で、カーネルのバージョンアップ作業は終了です。再起動して立ち上がるかどうかを確かめましょう。
結果からいいますと、カーネルのインストールが失敗していたのか、Linuxは立ち上がりませんでした。ファイルシステムをチェックする段階で、/homeが見付からないといって止まってしまうのです。困りました。以前のバージョンのカーネルで起動すると、問題なく立ち上がりますしシステムのバージョンアップもできているようです。なので、問題はカーネルとその設定なのでしょう。さて、どうするべきなんでしょうか。
Vine Linuxをインストールしたマシンは、IDEとSCSIを混在にしているので、それがいけなかったのかも知れないと思い立ち、カーネルバージョンアップのマニュアルにあった、mkinitrdを試してみることにしました。具体的には、# mkinitrd /boot/initrd-2.4.19-0vl11.img 2.4.19-0vl11を試みます。その後、lilo.confに新たな一行を書き加えて、もう一度lilo。ですが、やっぱり立ち上がらないのでした。
困りました。なので、Vine Linux Tips集に書かれていた、ACPIとかAPMのon/offをすべて一通り試してみたのですが、やっぱりこれは関係ないようでした。困りました。/bootにmapとかいうファイルがあったように思いますが、これをいじるのでしょうか? いきなりチャレンジして動かなくなるのも困るので、今回はこれでストップ。もう少し情報収集してみることにしましょう。
カーネルの再構築――Kernel 2.4.19-0vl22へ