BLOGTIMES
2015/08/27

CentOS にインストールされるカーネルの最大数を変更する

  centos7  rhel 
このエントリーをはてなブックマークに追加

以前、「yum に At least xMB more space needed on the /boot filesystem. と言われたときは」というエントリで、不要な kernel を package-cleanup コマンドでアンインストールする方法を紹介しました。ただ、これをいちいち実行するのも面倒なので、なにか自動化できる方法がないかとずっと思っていたのですが、やっとうまい解決方法を見つけることができました。

そもそも何で yum がカーネルを複数インストールするのか?ということについてですが、これは Kernel に不具合があったときに OS がブート不能になることを防ぐ為でです。インストールされているどのカーネルを使って起動するかはブートローダー(GRUB)で起動時に選択することができるようになっています。通常はデフォルトでインストールされている最新のカーネルが選択されるので、カーネルを選択できることについて意識することは少ないかもしれません。

このブートローダーのカーネルのリストについてよく考えてみると、カーネルのアップデートはそれなりに回数があるのですが、それほど長かった記憶がありません。つまり何らかの方法で自動削除は行われているということに気づきました。つまりそのパラメーターを調整して、カーネルが2~3個になるようにしてやれば良いわけです。

というわけで、リファレンスを当たってみたところ、 /etc/yum.conf に以下のようなパラメーターがあるのを発見。

Red Hat Customer Portal

installonly_limit=value
 このオプションは、installonlypkgs 指示文でリストされるパッケージを同時にインストールできる数を設定します。value を installonlypkgs でリストされている単一パッケージについて同時インストールできるバージョンの最大数を表す整数で置き換えます。
 installonlypkgs 指示文のデフォルトには複数の様々なカーネルパッケージが含まれているため、installonly_limit の値を変更すると、単一のカーネルパッケージのインストール済みバージョンの最大数にも影響が及ぶ点に注意してください。/etc/yum.conf に表示されているデフォルト値は、installonly_limit=3 です。また、この値を低く、特に 2 より下に設定することは推奨されません。

CentOS 7 ではデフォルト値は 5 のようなので、ひとまず 3 に設定して様子を見てみようと思います。

--- /etc/yum.conf.org 2015-03-10 05:39:15.000000000 +0900 +++ /etc/yum.conf 2015-08-27 21:25:37.159715929 +0900 @@ -7,7 +7,7 @@ obsoletes=1 gpgcheck=1 plugins=1 -installonly_limit=5 +installonly_limit=3 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/7850
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン