查找無用的鏡像
使用Ubuntu一段時間后,就會發(fā)覺由于自動升級,系統(tǒng)里安裝了很多內(nèi)核。始終用不到的舊內(nèi)核有必要清理一下,以節(jié)省啟動時間和硬盤空間。
首先可查看當(dāng)前用的內(nèi)核是哪個,可通過命令:uname -a 來獲得信息。例如我臺式機上顯示為:
magc@magc-desktop:~$ uname -a
Linux magc-desktop 2.6.24-19-rt #1 SMP PREEMPT RT Thu Aug 21 02:08:03 UTC 2008 i686 GNU/Linux
然后通過查看本機上所有內(nèi)核的列表來決定哪些需要刪除掉:
運行命令:
dpkg --get-selections|grep linux
例如我本機顯示為:
magc@magc-desktop:~$ dpkg --get-selections|grep linux
libselinux1 install
linux-generic install
linux-headers-2.6.24-19 install
linux-headers-2.6.24-19-generic install
linux-headers-2.6.24-19-rt install
linux-headers-2.6.24-21 install
linux-headers-2.6.24-21-generic install
linux-headers-2.6.24-21-rt install
linux-headers-generic install
linux-headers-rt install
linux-image-2.6.24-19-generic deinstall
linux-image-2.6.24-19-rt install
linux-image-2.6.24-21-generic install
linux-image-generic install
linux-image-rt install
linux-restricted-modules-2.6.24-19-generic deinstall
linux-restricted-modules-2.6.24-19-rt install
linux-restricted-modules-2.6.24-21-generic install
linux-restricted-modules-common install
linux-restricted-modules-generic install
linux-restricted-modules-rt install
linux-rt install
linux-sound-base install
linux-ubuntu-modules-2.6.24-19-generic deinstall
linux-ubuntu-modules-2.6.24-19-rt install
linux-ubuntu-modules-2.6.24-21-generic install
util-linux install
util-linux-locales install
其中帶有image的就是內(nèi)核文件,因此可看出我的機器上共五個內(nèi)核版本。我當(dāng)前使用的是2.6.24-19-rt,所以決定將其它沒用的內(nèi)核刪除。
如何清理舊內(nèi)核鏡像
在刪除舊內(nèi)核之前,記住最好留有2個最近的內(nèi)核(最新的和上一個版本),以防主要的版本出錯?,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)核鏡像中,你可以移除一個特定的版本(比如3.19.0-15)。
$ sudo apt-get purge linux-image-3.19.0-15
$ sudo apt-get purge linux-headers-3.19.0-15
上面的命令會刪除內(nèi)核鏡像和它相關(guān)聯(lián)的內(nèi)核模塊和頭文件。
注意如果你還沒有升級內(nèi)核那么刪除舊內(nèi)核會自動觸發(fā)安裝新內(nèi)核。這樣在刪除舊內(nèi)核之后,GRUB配置會自動升級來移除GRUB菜單中相關(guān)GRUB入口。
如果你有很多沒用的內(nèi)核,你可以用shell表達式來一次性地刪除多個內(nèi)核。注意這個括號表達式只在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}
面的命令會刪除4個內(nèi)核鏡像:3.19.0-18、3.19.0-20、3.19.0-21 和 3.19.0-25。
如果GRUB配置由于任何原因在刪除舊內(nèi)核后沒有正確升級,你可以嘗試手動用update-grub2命令來更新配置。
$ sudo update-grub2
現(xiàn)在就重啟來驗證GRUB菜單是否已經(jīng)正確清理了。