天天看點

Linux 有問必答:如何删除 Ubuntu 上不再使用的舊核心

提問:過去我已經在我的ubuntu上更新了幾次核心。現在我想要删除這些舊的核心鏡像來節省我的磁盤空間。如何用最簡單的方法删除ubuntu上先前版本的核心?

在ubuntu上,有幾個方法來更新核心。在ubuntu桌面中,軟體更新允許你每天檢查并更新到最新的核心上。在ubuntu伺服器上,最為重要的安全更新項目之一就是 unattended-upgrades 軟體包會自動更新核心。然而,你也可以手動用apt-get或者aptitude指令來更新。

随着時間的流逝,持續的核心更新會在系統中積聚大量的不再使用的核心,浪費你的磁盤空間。每個核心鏡像和其相關聯的子產品/頭檔案會占用200-400mb的磁盤空間,是以由不再使用的核心而浪費的磁盤空間會快速地增加。

Linux 有問必答:如何删除 Ubuntu 上不再使用的舊核心

grub管理器為每個舊核心都維護了一個grub入口,以備你想要使用它們。

Linux 有問必答:如何删除 Ubuntu 上不再使用的舊核心

作為磁盤清理的一部分,如果你不再使用這些,你可以考慮清理掉這些鏡像。

<a target="_blank"></a>

在删除舊核心之前,記住最好留有2個最近的核心(最新的和上一個版本),以防主要的版本出錯。現在就讓我們看看如何在ubuntu上清理舊核心。

在ubuntu核心鏡像包含了以下的包。

linux-image-: 核心鏡像

linux-image-extra-: 額外的核心子產品

linux-headers-: 核心頭檔案

首先檢查系統中安裝的核心鏡像。

<code>$ dpkg --list | grep linux-image</code>

<code>$ dpkg --list | grep linux-headers</code>

在列出的核心鏡像中,你可以移除一個特定的版本(比如3.19.0-15)。

<code>$ sudo apt-get purge linux-image-3.19.0-15</code>

<code>$ sudo apt-get purge linux-headers-3.19.0-15</code>

上面的指令會删除核心鏡像和它相關聯的核心子產品和頭檔案。

注意如果你還沒有更新核心那麼删除舊核心會自動觸發安裝新核心。這樣在删除舊核心之後,grub配置會自動更新來移除grub菜單中相關grub入口。

如果你有很多沒用的核心,你可以用shell表達式來一次性地删除多個核心。注意這個括号表達式隻在bash或者相容的shell中才有效。

<code>$ sudo apt-get purge linux-image-3.19.0-{18,20,21,25}</code>

<code>$ sudo apt-get purge linux-headers-3.19.0-{18,20,21,25}</code>

Linux 有問必答:如何删除 Ubuntu 上不再使用的舊核心

上面的指令會删除4個核心鏡像:3.19.0-18、3.19.0-20、3.19.0-21 和 3.19.0-25。

如果grub配置由于任何原因在删除舊核心後沒有正确更新,你可以嘗試手動用update-grub2指令來更新配置。

<code>$ sudo update-grub2</code>

現在就重新開機來驗證grub菜單是否已經正确清理了。

Linux 有問必答:如何删除 Ubuntu 上不再使用的舊核心

本文來自雲栖社群合作夥伴“linux中國”,原文釋出日期:2015-09-18 

繼續閱讀