在Ubuntu中刪除老舊的內核文件
每一個Ubuntu版本在其生命周期內,一般都會有多次內核升級。每一次升級,都會新增一個內核版本,大約占用200~300 MB的磁盤空間。在確認最新的內核工作正常之后(筆者認為新內核應至少正常運行1個月
每一個Ubuntu版本在其生命周期內,一般都會有多次內核升級。每一次升級,都會新增一個內核版本,大約占用200~300 MB的磁盤空間。在確認最新的內核工作正常之后(筆者認為新內核應至少正常運行1個月的時間),可以考慮將老舊內核刪除,以釋放更多的磁盤空間。
步驟一:打開終端
按下Ctrl Alt t鍵盤組合鍵,啟動終端。或者:按下鍵盤上的Win鍵(也叫Super鍵)調出Dash,然后搜索“終端”(或“Terminal”),啟動終端。
步驟二:列出已安裝的內核文件
在命令提示符后面輸入:
```
dpkg --list | grep linux-image
```
將會列出當前系統(tǒng)中安裝內核的image和extra文件。
步驟三:列出已安裝的內核headers文件
在命令提示符后輸入:
```
dpkg --list | grep linux-headers
```
將會列出當前系統(tǒng)中安裝的內核headers文件。image、extra、headers文件都是內核的組成文件。
步驟四:刪除單個老舊內核文件
可以看到,linux-headers-4.2.0-12是最老的一個內核版本?,F(xiàn)在將它刪除。在終端中輸入:
```
sudo apt-get purge linux-image-4.2.0-12
```
將同時刪除linux-headers-4.2.0-12的image和extra文件。
步驟五:自動卸載其他不需要的內核文件
上一步驟中的命令,將同時觸發(fā)系統(tǒng)對其他內核文件必要性的檢查。上一步驟中,提示linux-headers-4.2.0-30等內核文件現(xiàn)在不需要了,可以使用“apt-get autoremove”來卸載它們。那我們在終端中輸入:
```
apt-get autoremove
```
執(zhí)行上述自動卸載操作。
步驟六:批量刪除老舊的內核文件
現(xiàn)在,繼續(xù)刪除4.2.0-12內核文件中的headers文件。在終端中輸入:
```
sudo apt-get purge linux-headers-4.2.0-12
```
系統(tǒng)將刪除4.2.0-12內核文件中的headers文件。
步驟七:使用正則表達式批量刪除內核文件
系統(tǒng)還支持使用正則表達式,批量刪除老舊的內核文件。比如,我們發(fā)現(xiàn)系統(tǒng)中安裝的4.2內核版本,其11~27這些子版本都可以刪除。那在終端中輸入:
```
sudo apt-get purge linux-image-4.2.0-{11,14,16,17,18,19,21,22,23,25,27}
```
系統(tǒng)將執(zhí)行對這些內核文件中的image和headers文件的清除。
步驟八:刪除剩余的headers文件
結合第二步驟中的dpkg --list | grep linux-headers命令,還可以用正則表達式刪除內核的其他headers文件。在終端輸入:
```
sudo apt-get purge linux-headers-4.2.0-{14,16}
```
系統(tǒng)將執(zhí)行對這些剩余headers文件的清除。
步驟九:重新啟動計算機
執(zhí)行上述命令后,系統(tǒng)將自動檢查當前剩下的內核文件,并重新配置系統(tǒng)引導程序GRUB的配置文件。重新啟動計算機,進入GRUB的高級選項,會發(fā)現(xiàn)可啟動內核列表中,上述刪除的內核已經(jīng)不復存在。
注意:Ubuntu保留多種版本的內核文件,主要目的是確保用戶遇到某內核無法正常啟動情況時,還能有其他版本的內核可用,所以刪除舊內核,一定是在確認新內核工作完全正常之后,才能實施的操作。