/boot
パーティションのスペースを解放するためにどのカーネルを削除するかをどのように決定しますか。
ここにシナリオがあります(背景情報)。
1. パリティトン情報(役に立つ場合)
# df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sda1 99M 81M 14M 86% /boot
...
2. 現在のカーネルバージョン
# uname -a
Linux serv.example.com 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
3. すべてのカーネルバージョンがインストールされている
# rpm -qa | grep kernel
abrt-addon-kerneloops-2.0.8-21.el6.centos.x86_64
kernel-firmware-2.6.32-431.1.2.0.1.el6.noarch
libreport-plugin-kerneloops-2.0.9-19.el6.centos.x86_64
kernel-headers-2.6.32-431.1.2.0.1.el6.x86_64
kernel-2.6.32-358.11.1.el6.x86_64
kernel-2.6.32-358.el6.x86_64
kernel-2.6.32-358.23.2.el6.x86_64
dracut-kernel-004-336.el6_5.2.noarch
それで...
- 上記のリストから削除するカーネル バージョンはどれですか?
- どうやって?
- 決定についての簡単な説明(なぜ?)があると助かります。
答え1
以下より抜粋Webサイト
## Install yum utils ##
yum install yum-utils
## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2
これにより、古いカーネルがすべて削除され、CentOS 6.4 上の最新のカーネル 2 つだけが保持されます。これは、最近のカーネルにはバグ修正が含まれており、新しいカーネルが起動に失敗した場合にいつでも古いカーネルにフェイルオーバーできるため、おそらく必要な動作です。上記のコマンドは、最新のカーネルが自動的に保持されるため、rpm -e xyz (xyz は特定のカーネル) を実行する必要がないことを意味します。
実行したコマンド
rpm -qa | grep kernel
実際には、どのカーネルがブート パーティションの領域を使用しているかはわかりません。dracut-kernel は実際にはシステムにカーネルをインストールしません。それを確認するには、rpm を照会できます。
[root@localhost]: rpm -ql dracut-kernel
/usr/share/doc/dracut-kernel-004
/usr/share/doc/dracut-kernel-004/README.kernel
答え2
最新の 2 つを除いてすべて削除します。現在実行しているものももちろん必要ですが、現在のものに安定性の問題がある場合に備えて、以前のものを 1 つ残しておく価値があると思います。その場合、急いで元に戻すためのものを用意しておく必要があります。
rpm -ev kernel-2.6.32-358
現在の安定性に自信があり、本当にそのスペースを取り戻したい場合は、2番目に新しいものを削除してください
rpm -ev kernel-2.6.32-358.11.1