未使用の他のカーネルをすべて自動的に削除するにはどうすればよいですか?
だからこれは私の状況です。
- さまざまなバージョンのUbuntu / CentOSを使用する
- 自動更新がオンになっています。 -> Linuxは多くの新しいカーネルバージョンをダウンロードします。
- これで、現在使用しているバージョンを除く他のすべてのカーネルバージョンを削除したいと思います。
パスワード:
#find out current kernel version:
uname -r
#check which versions are downloaded to computer
dpkg --get-selections | grep linux-image
#delete desired kernel
sudo apt-get purge [KERNEL]
#autoremove
sudo apt-get autoremove
Linuxには15を超えるコアがあり、50を超えるLinuxを見てみる必要がありました。
答え1
Ubuntuでは、以前のpurge-old-kernels
カーネルアンインストールを使用してインストールできます。
Ubuntu 16.04の場合
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F430BBA5
sudo add-apt-repository ppa:byobu/ppa
sudo apt-get update
sudo apt-get install byobu
以下を追加せずにインストールできますppa
。sudo apt-get install byobu
16.04より低いUbuntuバージョンの場合
sudo add-apt-repository ppa:bikeshed/ppa
sudo apt-get update
sudo apt-get install bikeshed
最新の2つのコアを維持するには、次のコマンドを実行します。
sudo purge-old-kernels
n
予約するコア数を指定できます。
sudo purge-old-kernels --keep n
n=1
:
sudo purge-old-kernels --keep 1
centOSにパッケージをインストールしますyum-utils
。
yum install yum-utils
最新のn
カーネルを維持するには:
package-cleanup --oldkernels --count=n
n=1
:
package-cleanup --oldkernels --count=1
答え2
Centos 8以降では、次のコマンドを使用できます。
dnf remove --oldinstallonly
これにより、以前のバージョンのカーネルがすべて削除されます。欲しいときに使用してください最新のみインストールされたカーネルの配布バージョンです。
私の元の答えは次のとおりです。https://unix.stackexchange.com/a/628434/145515
答え3
このコマンドはすべてのメジャーバージョン4カーネルイメージとヘッダーを削除しますが、実行中のカーネルイメージとヘッダーは削除しません。
apt purge $(dpkg-query -W -f='${binary:Package}\n' 'linux-image-4*' 'linux-headers-4*' | grep -v $(uname -r))
答え4
次のコマンドを試すことができます。 apt-get purgeを実行する前に、grepの出力に現在のカーネルバージョンが含まれていないことを再確認してください。
dpkg --list | grep linux-image | awk '{print $2}' | grep -v linux-image-`uname -r` | xargs apt-get purge