2021-05-12 14:32:11
如何刪除 Ubuntu 上不再使用的舊核心
提問:過去我已經在我的Ubuntu上升級了幾次核心。現在我想要刪除這些舊的核心映象來節省我的磁碟空間。如何用最簡單的方法刪除Ubuntu上先前版本的核心?
在Ubuntu上,有幾個方法來升級核心。在Ubuntu桌面中,軟體更新允許你每天檢查並更新到最新的核心上。在Ubuntu伺服器上,最為重要的安全更新專案之一就是 unattended-upgrades 軟體包會自動更新核心。然而,你也可以手動用apt-get或者aptitude命令來更新。
隨著時間的流逝,持續的核心更新會在系統中積聚大量的不再使用的核心,浪費你的磁碟空間。每個核心映象和其相關聯的模組/標頭檔案會佔用200-400MB的磁碟空間,因此由不再使用的核心而浪費的磁碟空間會快速地增加。
GRUB管理器為每個舊核心都維護了一個GRUB入口,以備你想要使用它們。
作為磁碟清理的一部分,如果你不再使用這些,你可以考慮清理掉這些映象。
如何清理舊核心映象
在刪除舊核心之前,記住最好留有2個最近的核心(最新的和上一個版本),以防主要的版本出錯。現在就讓我們看看如何在Ubuntu上清理舊核心。
在Ubuntu核心映象包含了以下的包。
- linux-image-: 核心映象
- linux-image-extra-: 額外的核心模組
- linux-headers-: 核心標頭檔案
首先檢查系統中安裝的核心映象。
$ dpkg --list|grep linux-image
$ dpkg --list|grep linux-headers
在列出的核心映象中,你可以移除一個特定的版本(比如3.19.0-15)。
$ sudoapt-get purge linux-image-3.19.0-15
$ sudoapt-get purge linux-headers-3.19.0-15
上面的命令會刪除核心映象和它相關聯的核心模組和標頭檔案。
注意如果你還沒有升級核心那麼刪除舊核心會自動觸發安裝新核心。這樣在刪除舊核心之後,GRUB設定會自動升級來移除GRUB選單中相關GRUB入口。
如果你有很多沒用的核心,你可以用shell表示式來一次性地刪除多個核心。注意這個括號表示式只在bash或者相容的shell中才有效。
$ sudoapt-get purge linux-image-3.19.0-{18,20,21,25}
$ sudoapt-get purge linux-headers-3.19.0-{18,20,21,25}
上面的命令會刪除4個核心映象:3.19.0-18、3.19.0-20、3.19.0-21 和 3.19.0-25。
如果GRUB設定由於任何原因在刪除舊核心後沒有正確升級,你可以嘗試手動用update-grub2命令來更新設定。
$ sudo update-grub2
現在就重新啟動來驗證GRUB選單是否已經正確清理了。
相關文章