PVE 下 Debian 虚拟机内核锁定与升级
tags: NAS, PVE
@
PVE 下 Debian 虚拟机内核锁定与升级
内核锁定
可以防止 apt full-upgrade 自动升级内核,在以前,可能导致掉 SR-IOV 驱动,需要重新安装。
对于不重要的内核更新,直接锁定版本不升级,避免麻烦。
Debian 起不来一般都是内核问题,锁定内核可以减少很多麻烦。
# 锁定内核元包(防止系统自动安装新内核)
sudo apt-mark hold linux-image-amd64
sudo apt-mark hold linux-headers-amd64
sudo apt-mark hold linux-base-amd64
# 锁定当前正在运行的具体内核镜像包
sudo apt-mark hold linux-image-$(uname -r)
# 锁定对应的内核头文件包(DKMS编译依赖)
sudo apt-mark hold linux-headers-$(uname -r)
# 锁定对应的内核 base 包(DKMS编译依赖)
sudo apt-mark hold linux-base-$(uname -r)
内核升级
不建议有事没事升级,过几个大版本升一下级就行了
升级前先检查 SR-IOV 核显 strongtz/i915-sriov-dkms 对内核版本的兼容性
由于可能要重启多次,因此先做以下准备
- 暂时禁用 qbittorrent、transmission,Emby 媒体服务器等软件的自启动,启动时会大量扫描做种文件
- (可选)临时禁用各个机械盘的挂载,注释
/etc/fstab中的挂载选项,仅保留系统盘,加快启动时间。 - unhold 所有的内核包
# 锁定内核元包(防止系统自动安装新内核)
sudo apt-mark unhold linux-image-amd64
sudo apt-mark unhold linux-headers-amd64
sudo apt-mark unhold linux-base-amd64
# 锁定当前正在运行的具体内核镜像包
sudo apt-mark unhold linux-image-$(uname -r)
# 锁定对应的内核头文件包(DKMS编译依赖)
sudo apt-mark unhold linux-headers-$(uname -r)
# 锁定对应的内核 base 包(DKMS编译依赖)
sudo apt-mark unhold linux-base-$(uname -r)
-
全面更新系统
apt update; apt full-upgrade -y,注意观察是否有在自动走 i915-sriov-dkms 编译流程重启切换到新内核
apt install build-essential dkms linux-headers-$(uname -r)安装新内核 配套 headers(重要)
apt list --installed | grep {旧内核版本},删除所有旧内核包及 headers(看情况)去掉
/etc/default/grub中的无用内核启动项,更新 grub,重启如果如果前面走了编译流程,则看看
/dev/dri/下面的驱动是否正常,如果正常就不管了。如果/dev/dri/下面没有驱动,或者前面安装内核的时候没有走编译流程,则apt purge i915-sriov-dkms卸载驱动,按 strongtz/i915-sriov-dkms 再走一遍安装流程。根据前文内容,使用 apt-mark 禁用内核更新