web-dev-qa-db-ja.com

現在使用されているものを除くすべてのカーネルパッケージを削除します。

使用していない他のすべてのカーネルを自動的に削除するにはどうすればよいですか?

だから、これが私の状況です:

  • 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

1つのLinuxには15を超えるカーネルが存在する可能性があり、50を超えるLinuxを使用する必要があります。

3
NoobPenguin

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
GAD3R

このコマンドは、メジャーリリース4のすべてのカーネルイメージとヘッダーを削除しますが、実行中のイメージは削除しません。

apt purge $(dpkg-query -W -f='${binary:Package}\n' 'linux-image-4*' 'linux-headers-4*' | grep -v $(uname -r))
0
ingopingo

以下のコマンドを試すことができます。 apt-getパージを実行する前に、grepの出力を再確認して、現在のカーネルバージョンが含まれていないことを確認してください。

dpkg --list | grep linux-image | awk '{print $2}' | grep -v linux-image-`uname -r` | xargs apt-get purge
0
skashyap