さて、一言にYaSTと言っても、現在のYaSTはなんだか複雑みたいで、
YaST | Yet Another Setup Tools |
YOU | YaST Online Update |
YUM | Yellow dog Updater, Modified |
zypp | Zen / YaST Packages Patches Patterns Products |
ZLM | ZENworks Linux Management |
Red Carpet | 未確認 |
様々なパッケージ管理系ソフトと絡み合っているらしい。YaSTと名が付いているのにインストールソースなんかが記録されている設定ファイルは /var/lib/zypp/ だったりするのはそういう理由か…。設定ファイルの多くは xml ファイルなので普通に読めるのが救いだ。
で。
10.2のYaSTと10.3のYaSTでは若干仕様の差異があるようでそのままではシステムのアップグレードができない。依存関係が解決できないから手動で解決せよ、となるのだが、手動解決しようにも基本的なパッケージが多数見当たらない状態になる。
そこで、表示されたエラーメッセージと10.2と10.3でのインストールソースのキャッシュを見比べてあたりをつけてみる。パッケージリストに関する問題のようだ。
まず、手動で packages.gz をダウンロードし、インストールソースのキャッシュディレクトリに突っ込む。10.2上のYaSTだと圧縮された状態では認識してくれないようなので(エラーを吐く)、解凍しておく。
そしておもむろにシステムアップデートを選択する。純正の手引書では「ソフトウェアの管理」を選べとなっているが、CUIのYaSTでは何も起こらなかった(手順が悪かっただけの可能性もある)。
インストールされていたパッケージによっては、依存関係が解決できないと再び怒られる場合もあるが、今度は手動で解決できる筈。原因はおおむね、10.2では存在していたパッケージが10,3では無くなっている(存在しない)、または、まめにアップデートを行っていた10.2のパッケージと10.3の初期インストールパッケージとの間でのバージョン相違(10.2でアップデートしたパッケージの方が新しい)だと思う。
もっともこんなバグがなければ、手間かけてシステムアップグレードしようとは思わなかったのだが…。もちろん、アップグレードしたところで解消されているのかは未知数なのだが。が、今まではわかっていながら対処が面倒なので無視してきた、
kernel: pci_set_power_state(): 0000:00:09.0: state=3, current state=5
で埋め尽くされたログは、肝心の欲しているメッセージになかなかたどり着けないというもどかしさがあり、やはりなんとかしないと思った訳で。当然ながらログファイルも膨大なサイズになるし、HDDへのアクセスも多くなるのだろうし。
3Comの3C905なんて結構メジャーなNICだと思うのだが、あまり大きな問題になっていないように見受けられるのを見ると、もはや使ってる人が少ないって事なのだろうか…。
そして、カーネルの変更を有効にするためにも再起動をしないとならないので、恐る恐る再起動をする。はい、ものの見事に立ち上がらず…。GRUBが「Error 23: Error while parsing number」というエラーを吐いて先に進まず。以前のopenSUSE10.2時代のカーネルも別のエラーで起動できず、設定だけ残っている状態と思われる。
やはりシステムアップグレードは鬼門であった…(わかっていたのだが)。以前もGRUBがうまく移行できなくてはまったのだが今回もまたGRUB…。
エラーメッセージ曰く、root (/dev/hda2) が理解できないらしい。ルータ代りのLinux Boxが動かなくなってしまったので調べるのがちょっと面倒だったが、GRUBは /dev/~ 形式での指定ではないとの事である。そういや以前にもそんな記述を見た覚えがあったな…。滅多に使わない知識は簡単に忘れてしまうのは歳なんだろうなぁ…。で、それなのに、/dev/~形式で設定されてしまうのがシステムアップグレードの謎だ。残っている10.2の設定ではhdxの指定になっているのだが。
で、GRUBからコマンドラインに落ちて、rootの記述を変更してブート。きっちりと立ち上がった。立ち上がったらGRUBの設定ファイルを編集。/dev/~ になっている部分を修正する。そして再起動をしてみる…。問題無し。
ただ、アップグレードしたはいいものの、微妙に起動が遅くなっているようだ。一度起動したらそうは再起動する事もないからいいっちゃいいのだが。
懸案事項だった3C905系のワーニングは消えた。が、MySQLがエラーを吐いている。ふぅ。やはり無駄にパワーを使うものである…。なかなか簡単には行かないものだ。通常のパッケージアップデートも引き続き行わなくては…。
正月休みが終わる日にやる事ではない、とやってから強く思ったのである…。もっともカーネルのバグ以外にも、本日突然ビープ音が鳴りだした(ピーポーピーポーだったのでCPU温度かと思ったのだが、CPU温度は普通だった)のもアップグレード作業へと背中を押した要因の一つなのだが。