
我使用的是 Ubuntu 20.04,我試圖了解我的 Linux 核心發生了什麼,但有些東西對我來說看起來很奇怪。目前的內核應該是:
@precision-3551:~$ uname -r
5.13.0-44-generic
但我也可以看到還有其他已安裝的核心。一件奇怪的事情是,安裝的核心是 或5.13
,5.4
中間沒有任何內容:
@precision-3551:~$ dpkg --list | egrep -i --color 'linux-image|linux-headers'
ii linux-headers-5.0.0-1034-oem-osp1 5.0.0-1034.39 amd64 Linux kernel headers for version 5.0.0 on 64 bit x86 SMP
ii linux-headers-5.13.0-41-generic 5.13.0-41.46~20.04.1 amd64 Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
ii linux-headers-5.13.0-44-generic 5.13.0-44.49~20.04.1 amd64 Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
ii linux-headers-5.4.0-113 5.4.0-113.127 all Header files related to Linux kernel version 5.4.0
ii linux-headers-5.4.0-113-generic 5.4.0-113.127 amd64 Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii linux-headers-generic 5.4.0.113.117 amd64 Generic Linux kernel headers
ii linux-headers-generic-hwe-20.04 5.13.0.44.49~20.04.28 amd64 Generic Linux kernel headers
rc linux-image-5.0.0-1034-oem-osp1 5.0.0-1034.39 amd64 Signed kernel image oem-osp1
ii linux-image-5.13.0-41-generic 5.13.0-41.46~20.04.1 amd64 Signed kernel image generic
ii linux-image-5.13.0-44-generic 5.13.0-44.49~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-100-generic 5.4.0-100.113 amd64 Signed kernel image generic
rc linux-image-5.4.0-104-generic 5.4.0-104.118 amd64 Signed kernel image generic
rc linux-image-5.4.0-105-generic 5.4.0-105.119 amd64 Signed kernel image generic
rc linux-image-5.4.0-107-generic 5.4.0-107.121 amd64 Signed kernel image generic
rc linux-image-5.4.0-109-generic 5.4.0-109.123 amd64 Signed kernel image generic
rc linux-image-5.4.0-110-generic 5.4.0-110.124 amd64 Signed kernel image generic
ii linux-image-5.4.0-113-generic 5.4.0-113.127 amd64 Signed kernel image generic
rc linux-image-5.4.0-65-generic 5.4.0-65.73~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-66-generic 5.4.0-66.74~18.04.2 amd64 Signed kernel image generic
rc linux-image-5.4.0-70-generic 5.4.0-70.78~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-71-generic 5.4.0-71.79~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-72-generic 5.4.0-72.80~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-73-generic 5.4.0-73.82~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-74-generic 5.4.0-74.83~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-77-generic 5.4.0-77.86~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-80-generic 5.4.0-80.90~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-81-generic 5.4.0-81.91~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-84-generic 5.4.0-84.94~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-86-generic 5.4.0-86.97~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-87-generic 5.4.0-87.98~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-89-generic 5.4.0-89.100~18.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-90-generic 5.4.0-90.101 amd64 Signed kernel image generic
rc linux-image-5.4.0-91-generic 5.4.0-91.102 amd64 Signed kernel image generic
rc linux-image-5.4.0-92-generic 5.4.0-92.103 amd64 Signed kernel image generic
rc linux-image-5.4.0-94-generic 5.4.0-94.106 amd64 Signed kernel image generic
rc linux-image-5.4.0-96-generic 5.4.0-96.109 amd64 Signed kernel image generic
rc linux-image-5.4.0-97-generic 5.4.0-97.110 amd64 Signed kernel image generic
rc linux-image-5.4.0-99-generic 5.4.0-99.112 amd64 Signed kernel image generic
ii linux-image-generic 5.4.0.113.117 amd64 Generic Linux kernel image
ii linux-image-generic-hwe-20.04 5.13.0.44.49~20.04.28 amd64 Generic Linux kernel image
ii linux-image-oem-osp1 5.4.0.113.117 amd64 Depends on the generic kernel image (dummy transitional package)
@precision-3551:~$ dpkg --list | grep -i -E --color 'linux-image|linux-kernel' | grep '^ii'
ii linux-image-5.13.0-41-generic 5.13.0-41.46~20.04.1 amd64 Signed kernel image generic
ii linux-image-5.13.0-44-generic 5.13.0-44.49~20.04.1 amd64 Signed kernel image generic
ii linux-image-5.4.0-113-generic 5.4.0-113.127 amd64 Signed kernel image generic
ii linux-image-generic 5.4.0.113.117 amd64 Generic Linux kernel image
ii linux-image-generic-hwe-20.04 5.13.0.44.49~20.04.28 amd64 Generic Linux kernel image
ii linux-image-oem-osp1
當我嘗試清除時,我沒有得到任何列出的:
@precision-3551:~$ sudo apt --purge autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
/etc/apt/apt.conf.d/01autoremove-kernels
我也按照建議進行了調查這個答案,但該文件在我的情況下不存在。我認為透過刪除5.4
核心可以節省一些空間。我該怎麼做或有任何跡象表明我不應該這樣做?
答案1
讓我們花一點時間簡單地重新組織一下該清單。也許現在會更有意義:
// OEM Kernel packages
ii linux-image-oem-osp1 5.4.0.113.117 amd64 Depends on the generic kernel image (dummy transitional package)
ii linux-headers-5.0.0-1034-oem-osp1 5.0.0-1034.39 amd64 Linux kernel headers for version 5.0.0 on 64 bit x86 SMP
rc linux-image-5.0.0-1034-oem-osp1 5.0.0-1034.39 amd64 Signed kernel image oem-osp1
// Original 20.04 kernel 5.4 packages
ii linux-image-generic 5.4.0.113.117 amd64 Generic Linux kernel image
ii linux-image-5.4.0-113-generic 5.4.0-113.127 amd64 Signed kernel image generic
ii linux-headers-generic 5.4.0.113.117 amd64 Generic Linux kernel headers
ii linux-headers-5.4.0-113 5.4.0-113.127 all Header files related to Linux kernel version 5.4.0
ii linux-headers-5.4.0-113-generic 5.4.0-113.127 amd64 Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
// Hardware Enablement (HWE) 20.04 kernel 5.13 packages
ii linux-image-generic-hwe-20.04 5.13.0.44.49~20.04.28 amd64 Generic Linux kernel image
ii linux-image-5.13.0-41-generic 5.13.0-41.46~20.04.1 amd64 Signed kernel image generic
ii linux-image-5.13.0-44-generic 5.13.0-44.49~20.04.1 amd64 Signed kernel image generic
ii linux-headers-generic-hwe-20.04 5.13.0.44.49~20.04.28 amd64 Generic Linux kernel headers
ii linux-headers-5.13.0-41-generic 5.13.0-41.46~20.04.1 amd64 Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
ii linux-headers-5.13.0-44-generic 5.13.0-44.49~20.04.1 amd64 Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
rc
未安裝內核,不佔空間。這些只是 apt 過去知道的 apt 核心資料庫中的條目。我們忽略了其中的大多數。您有一個 OEM 內核元包和標頭。 OEM 核心在有限時間內針對特定硬件,直到該硬體的硬體支援進入主線核心。如果您的硬體在目前的 5.13 核心上運作良好,那麼您不再需要那些 5.0 和 5.4 OEM 核心套件。只需刪除它們:
sudo apt remove linux-image-oem-osp1 linux-headers-5.0.0-1034-oem-osp1
。看?那很簡單。您擁有 Ubuntu 20.04 附帶的原始 5.4 核心堆疊。但你沒有使用它(你使用的是HWE 5.13系列)。除非您打算恢復到 5.4,否則您只需刪除這五個軟體包即可。
您目前的 5.13 核心有兩個版本:-44 和較舊的 -41。這就是正確的樣子(你確實應該有兩個)。不要刪除任何這些軟體包。讓 apt 自動處理這個系列。
看起來apt沒有什麼問題。它確實會自動刪除較舊的核心——這就是為什麼
rc
列出瞭如此多的核心。您安裝瞭如此多的內核,因為您(人類管理員)沒有指示 apt 卸載那些 OEM 和 5.4 元包,並且這些元包的作用就是引入額外的核心!
答案2
狀態為「rc」的核心已卸載,但某些配置可能仍然存在。如果你想清理配置,你可以這樣做sudo dpkg --purge <name of package>
,例如sudo dpkg --purge linux-image-5.4.0-86-generic
。