ページ

2011年8月13日土曜日

古いカーネルの削除方法

Linuxのメンテナンス:古いカーネルを削除する方法について

Fedora を使っていると時々、カーネルのバージョンアップがされますが、

古いカーネルは削除されずに蓄積されていきますね。

インストールされているカーネルを確認する方法は
$ rpm -qa | grep ^kernel
 (または yum list installed |grep ^kernel)
kernel-headers-2.6.35.13-92.fc14.i686
kernel-2.6.35.12-88.fc14.i686
kernel-2.6.35.12-90.fc14.i686
kernel-2.6.35.13-92.fc14.i686
kernel-devel-2.6.35.12-90.fc14.i686
kernel-devel-2.6.35.13-92.fc14.i686

今はカーネルが3つ残っていました。
2.6.35.12-88、2.6.35.12-90、2.6.35.13-92

どのバージョンのカーネルで起動しているかは
$ uname -r
2.6.35.13-92.fc14.i686
で確認します。
※GUI なら システムモニタの「システム」タブで確認できます。

古いカーネルの削除を実行します。
$ su
パスワード:

# package-cleanup --oldkernels
読み込んだプラグイン:langpacks, presto, refresh-packagekit
Adding ja_JP to language list
--> トランザクションの確認を実行しています
---> パッケージ kernel.i686 0:2.6.35.12-88.fc14 を削除に設定しました
--> 依存性解決を終了しました

依存性を解決しました

======================================================================
 パッケージ     アーキテクチャ
                             バージョン                  リポジトリー      容量
======================================================================
削除:
 kernel         i686         2.6.35.12-88.fc14           @updates          78 M

トランザクションの要約
======================================================================
Remove        1 Package(s)

インストール済み容量: 78 M
これでいいですか? [y/N]y  <-- [y]キーを押します。
パッケージをダウンロードしています:
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  削除中         : kernel-2.6.35.12-88.fc14.i686                            1/1

削除しました:
  kernel.i686 0:2.6.35.12-88.fc14

完了しました!

初期設定では、最新と1世代前のカーネルを残して、
古いカーネル(kernelとkernel-devel)が削除されるらしいです。

残される世代を変更したい場合(下記の例は3世代)は
# package-cleanup --oldkernels --count=3
としてあげると良いようです。

また、package-cleanup がインストールされていない場合
# yum -y install yum-utils
としてインストールします。

yum-utilsをインストールしたくない。または、手動で削除したい場合については
# rpm -e kernel-2.6.35.12-88.fc14.i686

とする削除できます。

0 件のコメント:

コメントを投稿