![]() |
紅色框框裡的這二個版本是不可移除的 |
dpkg --get-selections | grep linux-image
要注意的是,並不是所有出現的 Linux 核心版本都是可以刪除的,其中,至少有二個版本是不可以去動的,一個是現在正在用的版本,另一個則是叫做「linux-image-generic」的東西,所以,在開始移除舊版的 Linux 核心之前,還要先用下面這一行指令來查一下目前所使用的 Linux 核心版本哩 !
uname -r
該查的都查出來之後,接下來,就可以用「apt-get purge」指令來一一移除剛剛查出來的舊版 Linux 核心了,以阿舍用上面第一行的指令來找到第一個要刪除的是「linux-image-2.6.38-10-generic」核心版本為例,阿舍就可以用下面的這行指令來移除它。
sudo apt-get purge linux-image-2.6.38-10-generic
重複上面這行指令來將要移除的舊版 Linux 核心一一都移除之後,再來,就要用下面這一行指令來更新一下 Grub2 的選單,阿舍記得,雖然,之前版本的 Grub2 會在開機選單上列出所有已安裝的 Linux 核心選項,不過,新版的 Grub2 就不會有這種情形了,不過,還是更新一下會比較安全哩 !
sudo update-grub2
以上,就是用來移除舊版 Linux 核心的操作步驟,雖然沒什麼大太的果難度,不過,如果像阿舍一樣,有十幾個版本要移除的話,一個一個版本的移除,就會讓人覺得有點麻煩哩 ! 所以,應該要有更方便和簡單的方式才對,因此,阿舍就找到有位善心人士試出,用下面這行指令就可以一次移除所有舊版的 Linux 核心,有需要的人可以試試哩 !
sudo apt-get remove $(dpkg -l|egrep '^ii linux-(im|he)'|awk '{print $2}'|grep -v `uname -r`)
阿舍有試了一下,是真的有用,還滿方便的,不過,其中,阿舍有一台電腦在跑上面的這行指令時,有遇到要先執行一次下面這行指令的情況,阿舍執行後,再跑一次上面的這行指令就可以順利來移除所有舊版的 Linux 核心了哩 !
sudo dpkg --configure -a
要注意的是,上面這行指令只移除舊版的 Linux 核心,而沒有更新 Grub2,所以,還是要自己執行一次更新 Grub2 的指令才行的哩 ! ^^=
延伸閱讀
Ubuntu 清除歷史和最近開啟檔案的記錄
參考資料
問題還是沒解決嗎 ?? 這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法
3 則留言 :
apt-get remove 會殘留東西,好像改用 apt-get purge 會好一點??
Hello,
阿舍的習慣是,都先用 apt-get remove 來移除安裝,然後,再用 apt-get autoremove 和 apt-get purge 及 apt-get autoclean 來清理 ...
不過,那時在寫這篇時,沒寫到哩 ~~ 呵 !
供參囉 ! ... ^^=
一鍵移除有bug是若同時存在 linux-headers-xxx-generic 跟 linux-headers-xxx,那指令會移除linux-headers-xxx,但系統相依性連同generic也會被移除,導致就算最新版本也被砍掉了。
改良後連同autoremove跟purge一起變為
apt autoremove $(dpkg -l|egrep '^ii linux-(im|he)'|awk '{print $2}'|grep -v `uname -r | egrep -o [0-9\.\-]+[0-9]`) --purge
張貼留言