[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:55194] Re: kernelのholdについて



武藤@Debianぷろじぇくとです。

At Mon, 25 Apr 2011 15:41:53 +0900,
kenji kobayashi wrote:
> debian(squeeze)でサーバを運用していますが、kernelのupgradeがあると
> 再起動が必要になるので、よほどクリティカルなupgrade以外は
> カーネルのバージョンを固定したいと思っています。

まぁたとえインストールされても黙って勝手に再起動しちゃうような真似は
しないので、DSAの内容を見てからrebootということでもよいかと思います。

> とりあえず以下の方法でholdしてみました。
> --------------------------------------------
> ・aptitudeコマンド対応hold
>  aptitude hold linux-image-2.6.32-5-686
> 
> ・ホールド確認
> # aptitude search linux-image-2.6.32-5-686
> ihA linux-image-2.6.32-5-686   - Linux 2.6.32 for modern PCs
> 
> ・dpkg(apt-get)コマンド対応hold
> # echo linux-image-2.6.32-5-686  hold | dpkg --set-selections
> 
> ・hold確認
> dpkg --get-selections "*"|grep -e "hold$"
> linux-image-2.6.32-3-686                        hold
> ----------------------------------------------
> 
> (1)検索するとholdの方法は、他にもいくつかあるようです。
>   分かりやすさで上記を選択しましたが、これは問題ありませんでしょうか?

残るはPINによるホールドですかね。普通はaptitudeのholdまたはdpkgのholdで
よいかと思います。aptitudeでのholdはaptitude内だけで使われて、apt-get
では無視されるという点に注意でしょうか。私はもっぱらapt-getを使って
いるので、dpkg --set-selectionsによるholdを使うことが多いです(こちらの
holdはapt-getもaptitudeのいずれも尊重します)。

> (2)holdしたのは「linux-image-2.6.32-5-686」だけです。
>    meta-packageである「linux-image-2.6-686」もholdした方が
>    よいのでしょうか?
> (3)「linux-image-2.6-686」はmeta-packageとよばれるものらしいのですが
>    meta-packageとはどのような意味があるのでしょうか?
>    lennyのlinux-imageにはなかった気がします。

あらゆるカーネルをこれ以上自動で入れたくない(現在動作中のカーネルを上書き
しないにせよ、GRUBのメニューで先頭に出てきてその新しいのが動作しては困る
など)、ということであれば、このメタパッケージもhold、あるいは削除するのが
よいでしょう。

メタパッケージlinux-image-2.6-686(Lennyにもありますが)は、その
ディストリビューションバージョンで「最新の」686実カーネルパッケージに
依存する「だけ」のパッケージです。

カーネルパッケージは、2.6.32や2.6.38といったバージョンが変わるほか
(安定版ではバージョンが変わることがありませんが)、たとえ同じバージョン
でもDebianのセキュリティ関連のバグ修正によっては内部構造が変わってしまい、
古いカーネルで使っていたモジュールパッケージとは互換性が取れなくなる
ことがあります。
このようなときに、Debianの実カーネルパッケージのほうは
linux-image-2.6.32-3-686
linux-image-2.6.32-4-686
linux-image-2.6.32-5-686
のようにバージョン番号の後の数字を増やして対応しています。パッケージ名が
変わるので、この新しい実カーネルパッケージはそのままではインストール対象
になりません。メタパッケージlinux-image-2.6-686があれば、このメタパッケー
ジが常に最新の実カーネルパッケージに依存して紐付けられているので、通常の
アップグレード手順で修正された実カーネルパッケージを常に得られるように
なります。
なお、上記のように実カーネルパッケージ名が変わる場合、動作中・あるいは
過去にインストールした古いカーネルパッケージには何もタッチしません。
-- 
武藤 健志@ kmuto @ kmuto.jp
           Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)