web-dev-qa-db-ja.com

CentOS 7で古いカーネルバージョンを安全に削除するにはどうすればよいですか?

CentOS 7でカーネルが競合しているために奇妙な症状が発生する場合があります。古いカーネルを安全に削除するにはどうすればよいですか?そして、どのカーネルが最新のものであるかをどうやって知るのですか?

以下は、問題のサーバーでこれを調査したときに私が現時点で取得する端末出力です。私はパッケージクリーンアップを試みましたが、同じ2つのカーネルを残すことに注意してください:

このチュートリアルの手順 次の2つのコマンドの出力は一致するはずですが、再起動後も一致しないことがわかります。

[root@localhost ~]# rpm -qa kernel |sort -V |tail -n 1
kernel-3.10.0-229.el7.x86_64
[root@localhost ~]# uname -r
3.10.0-229.14.1.el7.x86_64

残りのコマンドは、2つのカーネルがあることを確認し、古いカーネルを削除する試みを示しています。

[root@localhost ~]# cd /usr/src/kernels
[root@localhost kernels]# ls -al
total 16
drwxr-xr-x.  4 root root 4096 Oct  2 12:55 .
drwxr-xr-x.  4 root root 4096 Oct  2 13:15 ..
drwxr-xr-x. 22 root root 4096 Oct  2 12:55 3.10.0-229.14.1.el7.x86_64
drwxr-xr-x. 22 root root 4096 Oct  2 12:35 3.10.0-229.el7.x86_64
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]# package-cleanup --oldkernels=1
Loaded plugins: fastestmirror
Usage: 
    package-cleanup: helps find problems in the rpmdb of system and correct them

    usage: package-cleanup --problems or --leaves or --orphans or --oldkernels
Command line error: --oldkernels option does not take a value
[root@localhost kernels]# package-cleanup --oldkernels
Loaded plugins: fastestmirror
No old kernels to remove
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]# 

また、/etc/yum.confを開いてinstallonly_limit=1を設定しましたが、これにより、後続のyum updateコマンドから、1がinstallonly_limitの許容値の範囲外であるというエラーが発生しました。

3.10.0-229.14.1.el7.x86_64が最新だと思いますが、どうすればこれを知ることができますか?また、ブートオプションは、複数のカーネルから選択できるようです。また、オプションのリストにある最初のカーネルからシステムが自動起動すると、混乱の可能性がさらに高まります。

これがどのように機能するか、具体的には、カーネルのバージョンを奇妙な症状の考えられる原因として排除できるように古いカーネルを安全に削除する方法を誰かが説明できますか?システムの再起動方法に関係なく、最新のカーネルが実行可能な唯一のカーネルであることを確認したいと思います。

16
CodeMed

package-cleanup --oldkernels --count=1最新以外のすべてのカーネルを削除します。

24
user40456

コマンド package-cleanup古いカーネルを削除します。使用する --count=1を最新に保つ。プログラムは現在使用されているカーネルを削除することは決してないため(「カーネル3.10.0-327.el7は実行中のカーネルなので削除されません」)、再起動して再起動するまで/ bootに2つのカーネルが残る可能性があります。 -コマンドを実行します。

したがって、コマンドは

package-cleanup --oldkernels --count=1 

マンページには、3つのオプションが記載されています。

--oldkernels
          Remove old kernel and kernel-devel packages.
--count <COUNT>
          Number of duplicate/kernel packages to keep on the system (default 2)
--keepdevel
          Do not remove kernel-devel packages when removing kernels
8
Franklin Piat

yum upgradeの代わりにyum updateを使用してください

その後、3つのカーネルしか保持しません。 updateを使用すると、/bootがいっぱいになります

2
gurkan