Posts tagged ‘yum’

CentOS カーネルのバージョンアップ

以前のディストリビューションを使っているときは、カーネルのバージョンアップをあまり実施しなかったのだが、CentOS にしてからは yum を利用して比較的頻繁にバージョンアップするようになった。その過程で /lib/modules や /boot あたりに旧版のイメージなど、カーネル関連のファイル群がバックアップされていることに気付いた。このうち /lib/modules は / パーティション配下にあるが、現行の CentOS では / パーティションを 500MB 程しか確保していないので、ここにバックアップが溜まると容量が厳しくなってしまう。しかし、カーネルの旧版をすべて残しておくわけではなく、最新版を含めて5世代より前のものはバージョンアップ作業時に自動的に削除されるようだ。これであれば / パーティションのサイズも何とか持ちこたえられると思う。もしかしたら保存する履歴の数もどこかで設定出来るのかも知れない。

yum で苦労したこと

サーバとして CentOS5.2 を使っているのだが、このところアップデート通知がまったく無かったことに気付く。試しに手動で yum check-update を実行しても、有効なアップデートは無いという。さすがにおかしいと思い検索してみたら、yum のキャッシュに異常が発生したときなどに、このような状態になるらしいことがわかった。そして、この症状に対しては yum clean all で状況を改善できる、ということだったのでさっそく実行してみる。ここで再び check-update すると、要アップデート状態のパッケージが大量にあることが分かった。

続けて yum update(実際には GUI のパッケージマネージャ)を使って、これまでの更新分を一気に処理したのだが、途中で処理がフリーズしてしまい強制終了することになってしまった。ここでパッケージのリストを確認してみると、同一パッケージのバージョン違いが同時にインストールされていることが分かった。例えば Zip であれば 2.31-1.2.2 と 2.31-2.e15 が共存している。さすがにこのままではまずいので調べてみると、yum の実行中に異常終了した場合には、その後の処理をきちんと完結させるため yum-complete-transaction コマンドを利用することが分かった。さっそくこのコマンドを使ってみると、見事にパッケージの重複が解消された。この yum-complete-transaction について書かれていたサイトに感謝。

その後、気がついたら CentOS が 5.3 になっていた。近々 5.3 になることをどこかで目にした記憶はあるが、どうも今週に入ってすぐにリリースされたらしい。意図せずに 5.3 へ移行してしまったが、このようなタイミングで大量のパッケージを同時にアップデートしたことが、今回の一連の不具合発生につながったのかもしれない。