如何刪除Ubuntu上不再使用的舊內(nèi)核
提問(wèn):過(guò)去我已經(jīng)在我的Ubuntu上升級(jí)了幾次內(nèi)核?,F(xiàn)在我想要?jiǎng)h除這些舊的內(nèi)核鏡像來(lái)節(jié)省我的磁盤(pán)空間。如何用最簡(jiǎn)單的方法刪除Ubuntu上先前版本的內(nèi)核?
在Ubuntu上,有幾個(gè)方法來(lái)升級(jí)內(nèi)核。在Ubuntu桌面中,軟件更新允許你每天檢查并更新到***的內(nèi)核上。在Ubuntu服務(wù)器上,最為重要的安全更新項(xiàng)目之一就是 unattended-upgrades軟件包會(huì)自動(dòng)更新內(nèi)核。然而,你也可以手動(dòng)用apt-get或者aptitude命令來(lái)更新。
隨著時(shí)間的流逝,持續(xù)的內(nèi)核更新會(huì)在系統(tǒng)中積聚大量的不再使用的內(nèi)核,浪費(fèi)你的磁盤(pán)空間。每個(gè)內(nèi)核鏡像和其相關(guān)聯(lián)的模塊/頭文件會(huì)占用200-400MB的磁盤(pán)空間,因此由不再使用的內(nèi)核而浪費(fèi)的磁盤(pán)空間會(huì)快速地增加。
GRUB管理器為每個(gè)舊內(nèi)核都維護(hù)了一個(gè)GRUB入口,以備你想要使用它們。
作為磁盤(pán)清理的一部分,如果你不再使用這些,你可以考慮清理掉這些鏡像。
如何清理舊內(nèi)核鏡像
在刪除舊內(nèi)核之前,記住***留有2個(gè)最近的內(nèi)核(***的和上一個(gè)版本),以防主要的版本出錯(cuò)?,F(xiàn)在就讓我們看看如何在Ubuntu上清理舊內(nèi)核。
在Ubuntu內(nèi)核鏡像包含了以下的包。
◆linux-image-:內(nèi)核鏡像
◆linux-image-extra-:額外的內(nèi)核模塊
◆linux-headers-:內(nèi)核頭文件
首先檢查系統(tǒng)中安裝的內(nèi)核鏡像。
$ dpkg --list | grep linux-image
$ dpkg --list | grep linux-headers
在列出的內(nèi)核鏡像中,你可以移除一個(gè)特定的版本(比如3.19.0-15)。
$ sudo apt-get purge linux-image-3.19.0-15
$ sudo apt-get purge linux-headers-3.19.0-15
上面的命令會(huì)刪除內(nèi)核鏡像和它相關(guān)聯(lián)的內(nèi)核模塊和頭文件。
注意:如果你還沒(méi)有升級(jí)內(nèi)核那么刪除舊內(nèi)核會(huì)自動(dòng)觸發(fā)安裝新內(nèi)核。這樣在刪除舊內(nèi)核之后,GRUB配置會(huì)自動(dòng)升級(jí)來(lái)移除GRUB菜單中相關(guān)GRUB入口。
如果你有很多沒(méi)用的內(nèi)核,你可以用shell表達(dá)式來(lái)一次性地刪除多個(gè)內(nèi)核。注意這個(gè)括號(hào)表達(dá)式只在bash或者兼容的shell中才有效。
$ sudo apt-get purge linux-image-3.19.0-{18,20,21,25}
$ sudo apt-get purge linux-headers-3.19.0-{18,20,21,25}
上面的命令會(huì)刪除4個(gè)內(nèi)核鏡像:3.19.0-18、3.19.0-20、3.19.0-21 和 3.19.0-25。
如果GRUB配置由于任何原因在刪除舊內(nèi)核后沒(méi)有正確升級(jí),你可以嘗試手動(dòng)用update-grub2命令來(lái)更新配置。
$ sudo update-grub2
現(xiàn)在就重啟來(lái)驗(yàn)證GRUB菜單是否已經(jīng)正確清理了。