如何在Ubuntu 18.04上面安裝與管理Kernel

前言

在先前的文章中提到,自從從Ubuntu 16.04升級到Ubuntu 18.04之後,連Kernel也順便安裝了一個新的版本,確切的版本號我已經忘了,但是就讓我的ThinkPad上的電源管理機制上出現了一些奇怪的行為。

在升級到Ubuntu 18.04為我安裝較新版的Kernel中,我筆電從睡眠之中喚醒,就變成一種死機狀態,只看得到畫面,但是其他的東西,像是滑鼠,鍵盤都沒有反應了。

逼的我只能自己手動強制關機與開機。

後來,用了舊版的Kernel,就發現一切正常,所以我就很合理的懷疑,是較新版的Kernel出了些問題。

剛好趁這個機會,剛好看看有沒有什麼工具可以輕易的管理與安裝Kernel,後來還被我找到了。所以本文章中,就是來講解這個工具該如何使用。

2021/02/23更新:因teejee2008/ppa套件庫已經將ukuu的套件移除了,因此此文章操作說明也已經失效,若要繼續使用ukuu的套件,需要自行編譯與建置,請參考本文文章之自行編譯的章節。

前置環境

  • 一台Ubuntu 18.04主機

使用步驟

我們在本文中,會使用到一個叫做「ukuu」的工具,這個工具可以幫助我們輕易的管理與安裝Kernel。

首先,先用下面的指令將ukuu的外部鏡像位址匯入。


sudo add-apt-repository -y ppa:teejee2008/ppa

接著因為是Ubuntu 18.04的關係,所以當匯入進去的時候,會自動跑「sudo apt-get update」去更新所有的鏡像來源。

接著,就可以安裝今天的主角「ukuu」了。


sudo apt-get install ukuu

安裝完成之後,我們可以透過下面指令的方式取得目前所有可以取得安裝的Kernel版本。


ukuu --list

從截圖上來看,就可以知道Kernel版本清單是由新到舊排序。

如果是用下面的指令則是列出目前在作業系統上安裝的Kernel版本清單


sudo ukuu --list-installed

那假設我們要安裝上面列出的最新版「4.20.11」,則透過下面的指令變可以達成。


sudo ukuu --install v4.20.11

若我們要移除指定的Kernel版本,則我們就使用下列的指令來達成。


sudo ukuu --remove v4.20.11

自行編譯

當ppa:teejee2008/ppa之套件庫將ukuu之套件移除之後,就無法使用上述的方式來安裝此管理Kernel的工具了,原因是套件作者將此套件變成付費的版本。

那另外一個方式是,下載當前ukuu之最後一個在GitHub上的版本,下載回來之後,自行編譯,詳細的編譯方式是參考此網站

編譯方式如下:


sudo apt-get install -y libgee-0.8-dev libjson-glib-dev libvte-2.91-dev valac build-essential aptitude curl glibc-doc libc-ares2 aria2
git clone https://github.com/teejee2008/ukuu.git
cd ukuu
make all
sudo make install

目前在Ubuntu 18.04與Ubuntu 16.04都有編譯成功,而此專案已經在GitHub上面封存了,若是需要使用此專案的話,則是需要考慮付費的版本。
若是第一次執行ukuu的視覺化使用者介面的話(指令為:ukuu-gtk),則會出現下列的截圖:

參考資料

Upgrade Kernel on Ubuntu 18.04