提問:過去我已經在我的Ubuntu上升級了幾次內核。現在我想要刪除這些舊的內核鏡像來節省我的磁盤空間。如何用最簡單的方法刪除Ubuntu上先前版本的內核?
在Ubuntu上,有幾個方法來升級內核。在Ubuntu桌面中,軟件更新允許你每天檢查並更新到最新的內核上。在Ubuntu服務器上,最為重要的安全更新項目之一就是 unattended-upgrades 軟件包會自動更新內核。然而,你也可以手動用apt-get或者aptitude命令來更新。
隨著時間的流逝,持續的內核更新會在系統中積聚大量的不再使用的內核,浪費你的磁盤空間。每個內核鏡像和其相關聯的模塊/頭文件會占用200-400MB的磁盤空間,因此由不再使用的內核而浪費的磁盤空間會快速地增加。
GRUB管理器為每個舊內核都維護了一個GRUB入口,以備你想要使用它們。
作為磁盤清理的一部分,如果你不再使用這些,你可以考慮清理掉這些鏡像。
在刪除舊內核之前,記住最好留有2個最近的內核(最新的和上一個版本),以防主要的版本出錯。現在就讓我們看看如何在Ubuntu上清理舊內核。
在Ubuntu內核鏡像包含了以下的包。
首先檢查系統中安裝的內核鏡像。
$ 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菜單是否已經正確清理了。
更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2
via: http://ask.xmodulo.com/remove-kernel-images-ubuntu.html
作者:Dan Nanni 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出