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
が最新だと思いますが、どうすればこれを知ることができますか?また、ブートオプションは、複数のカーネルから選択できるようです。また、オプションのリストにある最初のカーネルからシステムが自動起動すると、混乱の可能性がさらに高まります。
これがどのように機能するか、具体的には、カーネルのバージョンを奇妙な症状の考えられる原因として排除できるように古いカーネルを安全に削除する方法を誰かが説明できますか?システムの再起動方法に関係なく、最新のカーネルが実行可能な唯一のカーネルであることを確認したいと思います。
package-cleanup --oldkernels --count=1
最新以外のすべてのカーネルを削除します。
コマンド 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
yum upgrade
の代わりにyum update
を使用してください
その後、3つのカーネルしか保持しません。 update
を使用すると、/boot
がいっぱいになります