Ubuntu內(nèi)核管理
Linux
Ubuntu 內(nèi)核管理
1. 下載
1.1 deb文件
下載路徑:http://kernel.ubuntu.com/~kernel-ppa/mainline/
找到需要版本目錄啄清,下載三個文件:
1.2 apt-get下載源碼
依賴包
$ apt-get install dpkg-dev
有了這個包鲁捏,下載的源碼才能被解壓
$ apt-get install linux-source #下載當(dāng)前版本的kernel源碼
? ? $ apt-get source linux-image-3.13.0-29-generic # 下載對應(yīng)內(nèi)核版本源碼
2. 安裝
2.1 deb安裝
執(zhí)行命令
$ sudo dpkg -i linux-headers-4.2.0-040200_4.2.0-040200.201510260713_all.deb linux-headers-4.2.0-040200-generic_4.2.0-040200.201510260713_amd64.deb linux-image-4.2.0-040200-generic_4.2.0-040200.201510260713_amd64.deb
$ sudo update-grub
更新grub引導(dǎo)裝入程序厅克。
2.2 源碼安裝
依賴安裝
$ apt install libncurses5-dev
源碼編譯
$ cd linux-4.4.2
? ? $ make menuconfig
直接Select -> Save,之后編譯
$ make -j64
? ? $ make modules_install install
3. 修改內(nèi)核啟動順序
$ grep menuentry /boot/grub/grub.cfg
假設(shè)你要以4.4.0-21內(nèi)核版本啟動浪箭,則修改文件/etc/default/grub
$ vi /etc/default/grub
GRUB_DEFAULT=0
改為
GRUB_DEFAULT=6
或者改為
GRUB_DEFAULT="Ubuntu,Linux 4.4.0-21-generic"
使生效
$ sudo update-grub
4. 重啟系統(tǒng)
重啟后驗(yàn)證
$ uname -r
5. apt-get 安裝
搜索可用的內(nèi)核升級:
$ apt-cache showpkg linux-headers
? ? $ apt-cache showpkg linux-image
顯示很多的內(nèi)核 比如你選擇內(nèi)核是2.6.39.0候学,運(yùn)行命令 安裝內(nèi)核2.6.39.0
$ sudo apt-get install linux-headers-2.6.39-0-generic linux-image-3.13.0-24-generic linux-image-extra-3.13.0-24-generic --fix-missing
最后顿膨,重新啟動系統(tǒng)并查看系統(tǒng)內(nèi)核版本
6. 刪除舊內(nèi)核
1.找出系統(tǒng)已經(jīng)安裝的內(nèi)核版本,在終端里輸入命令:
$ dpkg --get-selections | grep linux-image
然后會顯示系統(tǒng)中已安裝的內(nèi)核撒穷,例如:
linux-image-2.6.38-10-generic instal
linux-image-2.6.38-8-generic install
linux-image-2.6.35-22-generic install
linux-image-generic install
2.卸載舊的內(nèi)核版本,在終端里輸入命令:
$ sudo apt-get remove linux-image-2.6.35-22-generic linux-image-2.6.38-8-generic
此時:
$ dpkg --get-selections | grep linux-image
的結(jié)果為deinstall,執(zhí)行下面語句刪除:
$ sudo aptitude purge linux-image-2.6.35-22-generic
Grub手動引導(dǎo)
如果每次開機(jī)都進(jìn)入grub命令行裆熙,安裝grub2進(jìn)行重新引導(dǎo):
$ apt install grub2
常見問題
1. 重啟后沒有選擇內(nèi)核界面
$ vi /etc/default/grub
修改
GRUB_TIMOUT=10
$ sudo update-grub
或開機(jī)一直按shift
2. 內(nèi)核無法啟動
$ grep menuentry /boot/grub/grub.cfg
如果沒有新安裝的內(nèi)核端礼,執(zhí)行:
$ sudo vi /etc/default/grub
前兩行修改如下:
GRUB_DEFAULT=1>2
#GRUB_HIDDEN_TIMEOUT=0
最后執(zhí)行:
$ sudo update-grub2