如何从可信源安装Ubuntu官方归档仓库中已移除的特定版本内核(5.15.0-69-generic)
我完全懂你的顾虑——从随便找的非可信源下载内核包简直是拿系统安全开玩笑,毕竟内核是整个系统的核心,半点儿马虎不得。针对你遇到的5.15.0-69-generic内核安装问题,给你两个完全基于Ubuntu官方可信源的解决方案:
先澄清一个误区
你之前尝试的old-releases.ubuntu.com源是给已经停止支持的Ubuntu版本(比如16.04及更早)用的,而你的系统是Jammy(22.04 LTS),还在官方支持周期内,旧内核包并不会放在这里,而是保存在主归档仓库的pool目录里,只是当前的源索引已经移除了它们而已。
方法一:直接下载官方签名的deb包(最稳妥)
Ubuntu官方会把所有曾经发布过的内核包永久保存在主归档的pool里,这些包都是官方签名的,完全可信。步骤如下:
确认需要的包名
针对5.15.0-69-generic(amd64架构),你需要这几个包:- 内核镜像:
linux-image-5.15.0-69-generic_5.15.0-69.76_amd64.deb - 内核模块:
linux-modules-5.15.0-69-generic_5.15.0-69.76_amd64.deb - 内核头文件(如果需要编译驱动/模块的话):
linux-headers-5.15.0-69-generic_5.15.0-69.76_amd64.deb - 额外内核模块(可选,比如文件系统、硬件驱动相关):
linux-modules-extra-5.15.0-69-generic_5.15.0-69.76_amd64.deb
- 内核镜像:
从官方源下载包
打开终端,用wget命令下载(直接复制粘贴即可):wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-image-5.15.0-69-generic_5.15.0-69.76_amd64.deb wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-modules-5.15.0-69-generic_5.15.0-69.76_amd64.deb wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-5.15.0-69-generic_5.15.0-69.76_amd64.deb wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-modules-extra-5.15.0-69-generic_5.15.0-69.76_amd64.deb安装内核包
下载完成后,用dpkg安装(注意顺序,先装模块再装镜像和头文件):sudo dpkg -i linux-modules-5.15.0-69-generic_5.15.0-69.76_amd64.deb linux-image-5.15.0-69-generic_5.15.0-69.76_amd64.deb linux-headers-5.15.0-69-generic_5.15.0-69.76_amd64.deb linux-modules-extra-5.15.0-69-generic_5.15.0-69.76_amd64.deb更新GRUB并重启
安装完成后,更新启动引导项并重启系统:sudo update-grub sudo reboot锁住内核版本(防止自动更新)
为了避免系统后续自动升级到新内核导致软件不兼容,把这个版本的内核包锁住:sudo apt-mark hold linux-image-5.15.0-69-generic linux-headers-5.15.0-69-generic linux-modules-5.15.0-69-generic linux-modules-extra-5.15.0-69-generic
方法二:添加官方内核归档源(通过APT安装)
如果你更习惯用APT来管理,也可以添加一个指向Ubuntu内核归档的源,不过需要注意这个源包含大量旧版本内核,可能会让APT更新变慢:
创建源文件
打开终端,创建一个新的源配置文件:sudo nano /etc/apt/sources.list.d/ubuntu-kernel-archive.list添加源内容
在文件中输入以下内容(针对Jammy):deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse保存并退出(按
Ctrl+O,回车,再按Ctrl+X)。更新APT缓存并安装
更新缓存后,直接安装目标内核:sudo apt update sudo apt install linux-image-5.15.0-69-generic linux-headers-5.15.0-69-generic linux-modules-5.15.0-69-generic linux-modules-extra-5.15.0-69-generic同样锁住版本并重启
重复方法一中的锁版本和重启步骤即可。
备注:内容来源于stack exchange,提问作者Martin Mucha

