web-dev-qa-db-ja.com

/ bootから古いカーネルを削除できますか

dpkg --list 'linux-image*'を実行すると、出力には4.10.0-37のみがインストールされていることが示されます。

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                      Version           Architecture      Description
+++-=========================-=================-=================-=======================================================
un  linux-image               <none>            <none>            (no description available)
ii  linux-image-4.10.0-37-gen 4.10.0-37.41      AMD64             Linux kernel image for version 4.10.0 on 64 bit x86 SMP
ii  linux-image-extra-4.10.0- 4.10.0-37.41      AMD64             Linux kernel extra modules for version 4.10.0 on 64 bit
ii  linux-image-generic       4.10.0.37.37      AMD64             Generic Linux kernel image

ただし、/bootの内容を表示すると、他の古いカーネルがあります。

[~]$ ls /boot
abi-4.10.0-37-generic     config-4.8.0-37-generic   memtest86+.bin            vmlinuz-4.10.0-37-generic
abi-4.2.0-16-generic      efi               memtest86+.elf            vmlinuz-4.10.0-37-generic.efi.signed
abi-4.2.0-42-generic      grub              memtest86+_multiboot.bin      vmlinuz-4.2.0-16-generic
abi-4.8.0-37-generic      initrd.img-4.10.0-37-generic  System.map-4.10.0-37-generic  vmlinuz-4.2.0-42-generic
config-4.10.0-37-generic  initrd.img-4.2.0-16-generic   System.map-4.2.0-16-generic   vmlinuz-4.2.0-42-generic.efi.signed
config-4.2.0-16-generic   initrd.img-4.2.0-42-generic   System.map-4.2.0-42-generic   vmlinuz-4.8.0-37-generic
config-4.2.0-42-generic   initrd.img-4.8.0-37-generic   System.map-4.8.0-37-generic   vmlinuz-4.8.0-37-generic.efi.signed

私は4.10.0-37を実行しています:

[~]$ uname -r
4.10.0-37-generic

/bootから古いカーネル()を安全に削除できますか? Sudo apt-get remove ...を使用しても何も実行されません。現在「インストール」されていないためです。

2
Ralph

/ bootから未使用のカーネルを安全に削除できます。

理想的には、パッケージマネージャー(apt)を使用して削除する必要があるため、次を使用してパッケージマネージャーを削除できるかどうかを確認できます。

Sudo apt-get purge linux-image-4.2.0-16-generic

またはaptが機能しない場合:

Sudo dpkg --purge linux-image-4.2.0-16-generic

削除するカーネル(4.2.0-16、4.2.0-42など)に追加するか、上記を繰り返します。

上記が機能しない場合は、手動で削除できます。

Sudo rm /boot/abi-4.2.0-16-generic
Sudo rm /boot/config-4.2.0-16-generic
Sudo rm /boot/initrd.img-4.2.0-16-generic
Sudo rm /boot/System.map-4.2.0-16-generic
Sudo rm /boot/vmlinuz-4.2.0-16-generic

または、危険な状態で暮らしたい場合は、次のようにします。

Sudo rm /boot/*-4.2.0-16-generic

(実行中のカーネルに)追加のカーネルがバックアップとして残される場合があるため、現在実行中のカーネルに問題がある場合は、そうすることをお勧めします。

これらのファイルを削除した後、ブートローダーを更新する必要があります。GRUBを使用している場合は、次を実行します。

Sudo update-grub

また、ファイルを削除せずにaptからパッケージを削除した「Cleaner」ツールがあなたに良いことをしているかどうかも検討します。

編集:

WinEunuuchs2Unixが指摘したように、これはヘッダーファイルを削除しません。通常、古いカーネルを削除するときは、イメージだけでなく、他の関連ファイルも削除します。例えば:

apt-get purge linux-image-4.2.0-16-generic linux-image-extra-4.2.0-16-generic linux-headers-4.2.0-16-generic linux-headers-4.2.0-16

詳細については、以下のリンクを参照してください。

2
DougC