2009年5月14日木曜日

過去バージョンのパッケージ(ダウングレード)

S101での無線LANが使えなくなってしばらく経つ。フォーラムでは「.28に戻すぜ!」的な投稿もあった。archlinuxのパッケージ管理はPacmanが使われていて評価はいいらしく、アップグレード時に不具合が出た場合には、アップグレード前の状態に簡単に戻せるっていう特徴もそんな評価の一つの特徴らしい。

pacman -S でアップグレードやインストールを行うと、そのインストールしたパッケージ自体が/var/cache/pacman/pkgディレクトリにどんどん保存されていく。lsしてみると過去のバージョンも含めて沢山のパッケージがあるのが確認できる。

そこで、ダウングレードする際は、このディレクトリの中にあるダウングレードしたい特定のバージョンのパッケージファイルを直接指定してpacman -U すればいいだけ。

で、うちでも.28のカーネルに戻したかったんだけど、、、保存ディレクトリ内に.28パッケージが見当たらなかった。多分、初めに入ってた.28カーネルってシステムの初期インストール時にcoreとしてインストールされちゃってて、パッケージが保存されなかったのかも??
それで、あきらめてほったらかしにしてたんだけれど、、、

みつけました!自分の持ってない昔のバージョンのファイルも保存されてるかもしれないサイトを!!

schlunix.org

ここで、.28のカーネルを見つけた。

kernel26-2.6.28.8-1-i686.pkg.tar.gz
kernel26-firmware-2.6.28-1-i686.pkg.tar.gz

の二つのパッケージをインストールして再起動。
久しぶりに無線LANで繋がって、ブログが書けてます。
ダウングレードについてはwikiのDowngrade packagesに過去バージョンのパッケージがありそうなサイトの紹介とともに説明がある。

/var/cache/pacman/pkg以下の過去バージョンを含むパッケージの保存はS101みたいなSSDで容量の少ないシステムだとどんどん容量を食っていきそうで何かと気になる。pacmanでは、-Sccオプションでこれらのキャッシュファイルを全部消してくれる。そこで、ある程度、キャッシュファイルが溜まれば、クリアしてすっきりしておくのがいいかもしれない。もし、クリアした後にダウングレードしたくなった場合でも、ちょっと面倒だけど、よっぽど古いバージョンのファイルじゃなければ上記サイトで過去バージョンも見つかるに違いない!

あと、S101の無線LANとカーネルの関係みたいに不具合が分かってる場合には、特定のパッケージだけアップグレードしないように出来る(ビギナーズガイドのpacmanの項目でも紹介されている)ので、カーネルをアップグレードしないのも手だけれど、そうではなくて、.28カーネルのパッケージだけ持っておけば、「お!今回のアップデートで使えるようになったかな!」と、ドキドキできるのでちゃんと毎回アップデートして、ダメなら.28のパッケージファイルでダウングレードすることにした

ビバ!pacman!!

0 件のコメント:

コメントを投稿