Linux升级内核的正确姿势

很多童鞋在玩耍linux发行版的时候,都会遇到各种各样的问题,比如:网卡不能使用亮度不能调节触摸板不能识别蓝牙不能使用等等,这些关系都和linux内核有关系。

什么是linux内核?

Linux内核(英语:Linux kernel),是一种开源的类Unix操作系统宏内核

Linux内核最早是于1991年由芬兰黑客林纳斯·托瓦兹为自己的个人计算机开发的,他当时在Usenet新闻组comp.os.minix登载帖子,这份著名的帖子标志着Linux内核计划的正式开始。如今,该计划已经拓展到支持大量的计算机体系架构,远超其他操作系统和内核。它迅速吸引了一批开发者和用户,利用它作为其他自由软件项目的内核,如著名的 GNU 操作系统。

内核长什么样子呢?

有精力的同学可以去学习学习!

查看当前内核

打开终端执行:

vincent@dell-Inspiron-7559 Dir:~
·····$uname -r
4.15.0-32-generic
 
  • 1
  • 2
  • 3

当前电脑内核为4.15版本,一般更换内核我们是将内核升级为更高版本。

下载内核

目前下载有很多地址,我主要使用以下两个:

  1. github上下载linux kernel
  2. ubuntu的仓库中下载linux kernel

内核需要下载那些文件?

目前ubuntu 18.04已经使用4.15版本内核,linux mint 19也使用4.15版本内核。

4代版本中4.164.17有安装上的区别:

下面是4.16版本的文件选择:

下面是4.17版本的文件选择:

安装顺序

使用sudo dpkg -i ***.deb 的形式安装。

  1. 首先安装linux-headers-4.17.0-041700_4.17.0-041700.201806041953_all.deb

  2. 安装linux-headers-4.17.0-041700-generic_4.17.0-041700.201806041953_amd64.deb

  3. 安装linux-modules-4.17.0-041700-generic_4.17.0-041700.201806041953_amd64.deb

  4. 安装linux-image-unsigned-4.17.0-041700-generic_4.17.0-041700.201806041953_amd64.deb

如果是4.16版本及以前内核,此文件是没有的,也不需要安装。

安装完成后重启即可。

删除多余内核

1. 查看当前系统安装的内核

dpkg --get-selections| grep linux
 
  • 1
console-setup-linux install
libselinux1:amd64 install
libselinux1:i386 install
linux-base install
linux-firmware install
linux-generic install
linux-headers-4.4.0-22 install
linux-headers-4.4.0-22-generic install
linux-headers-4.4.0-24 install
linux-headers-4.4.0-24-generic install
linux-headers-4.4.0-28 install
linux-headers-4.4.0-28-generic install
linux-headers-4.4.0-31 install
linux-headers-4.4.0-31-generic install
linux-headers-4.4.0-34 install
linux-headers-4.4.0-34-generic install
linux-headers-4.4.0-36 install
linux-headers-4.4.0-36-generic install
linux-headers-4.4.0-38 install
linux-headers-4.4.0-38-generic install
linux-headers-4.4.0-42 install
linux-headers-4.4.0-42-generic install
linux-headers-generic install
linux-image-4.2.0-21-generic deinstall
linux-image-4.2.0-22-generic deinstall
linux-image-4.4.0-31-generic deinstall
linux-image-4.4.0-34-generic install
linux-image-4.4.0-36-generic install
linux-image-4.4.0-38-generic install
linux-image-4.4.0-42-generic install
linux-image-extra-4.2.0-21-generic deinstall
linux-image-extra-4.4.0-31-generic deinstall
linux-image-extra-4.4.0-34-generic deinstall
linux-image-extra-4.4.0-36-generic deinstall
linux-image-extra-4.4.0-38-generic install
linux-image-extra-4.4.0-42-generic install
linux-image-generic install
linux-libc-dev:amd64 install
linux-sound-base install
pptp-linux install
syslinux install
syslinux-common install
syslinux-legacy install
util-linux install
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

2. 卸载内核

可以看到系统已经安装了多个内核版本,包括 headers 和 image ,可以删除这些来卸载旧的内核。

比如删除 4.4.0-22 内核,我们看到上面只有 headers,因此可以这样:

sudo apt-get remove --purge linux-headers-4.4.0-22

sudo apt-get remove --purge linux-image-4.2.0-22-generic
 
  • 1
  • 2
  • 3

以此类推。

然后终端执行:

sudo apt-get autoclean
sudo apt-get autoremove
 
  • 1
  • 2

然后重启电脑即可。

END

参考:

  1. Linux升级内核的正确姿势
  2. Ubuntu 16.04 Linux系统内核升级方法