概述
Q:Debian的软件列表里找不到指定的内核版本怎么办?
A:更换源
Q:怎么获取相应的源呢?
A:通过官方快照
有时候我们需要对服务器更换指定的内核版本,但是通过apt search linux-image*
却搜索不到我们想要版本。这是因为历史版本已经归档,不再默认源提供了。我们可以通过去寻找归档路径,也就是快照,来获相应的源,从而进一步更换指定的内核。
获取快照源
1、登录 http://snapshot.debian.org/,点击debian
2、获取指定内核版本的发布日期(可以搜索、或者从其他已安装机器上获取)。以4.9.0-8为例:
3、按照发布日期点击对应链接:
点击进去之后,浏览器地址就变成了:
这就是我们需要的源。但是需要注意,内核的源需要两类:
同理可以获取同一时间段内的debian-security源地址:
deb http://snapshot.debian.org/archive/debian/20190331T222337Z/ stretch main
deb-src http://snapshot.debian.org/archive/debian/20190331T222337Z/ stretch main
deb http://snapshot.debian.org/archive/debian-security/20190328T101712Z/ stretch/updates main
deb-src http://snapshot.debian.org/archive/debian-security/20190328T101712Z/ stretch/updates main
更新内核
1、修改源
$ sudo vim /etc/apt/source.list
注释掉原来的默认源,修改为上面获取到的源
2、更新软件列表
$ sudo apt update
3、搜索linux内核
$ sudo apt search linux-image
linux-image-4.9.0-8-amd64/lion,now 4.9.130-2 amd64
Linux 4.9 for 64-bit PCs
可以看到,搜索列表里已经有了需要的内核
4、安装
$ sudo apt install linux-image-4.9.0-8-amd64
5、修改默认启动内核版本
$ sudo vim /etc/default/grub
修改为:
GRUB_DEFAULT="Advanced options for Debian GNU/Linux>Debian GNU/Linux, with Linux 4.9.0-8-amd64"
更新grub引导文件
$ sudo update-grub
6、重启
$ sudo reboot
7、查看已安装内核
$ uname -a
Linux deepin 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3 (2019-02-02) x86_64 GNU/Linux
Linux deepin 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux
8、清理旧版的内核
$ sudo apt remove --purge linux-image-4.9.0-7-amd64