从 Debian 11 升级到 12
上次从 Debian 10 升级到 11 非常小心(第一次升级 Debian 的大版本),做了很详细的记录。
这次胆子大了,直接升级了。
警告
如果服务器有重要数据,一定要先打个备份再继续。
升级
首先是把当前系统里的包全都升级到最新。
apt update && apt dist-upgrade -y
然后看看用了哪些仓库:
grep -RE '^\s*deb' /etc/apt/sources.list /etc/apt/sources.list.d/
看结果还行,就系统默认的仓库:
/etc/apt/sources.list:deb http://deb.debian.org/debian/ bullseye main non-free contrib
/etc/apt/sources.list:deb-src http://deb.debian.org/debian/ bullseye main non-free contrib
...
直接把仓库原换成新的就行了:
sed -i.bak 's/bullseye/bookworm/g' /etc/apt/sources.list
看看能不能正常更新仓库索引:
apt update
一切正常,不像上次那样仓库的地址还得手动改… 于是继续升级:
apt full-upgrade --autoremove
检查升级规划有没有问题,然后确认,等待升级完毕。
升级结束后查找新的或旧的文件,看看有没有要改的:
find /etc -xdev -name '*.dpkg-*'
检查完后重启,然后就结束啦。
reboot
更新第三方仓库源
如果有使用第三方仓库,那么也是需要一并更新的。
在更新主要仓库源配置文件时一并更新,然后继续即可。
更新 NodeSource 仓库源
需要额外更换仓库源:
NODE_MAJOR=18
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
※ 之前有写是 bullseye
,目前已经更换为 nodistro
了。
※ 如果需要更换版本,注意更改 NODE_MAJOR
大版本号
更新 Docker 仓库源
sed -i.bak 's/bullseye/bookworm/g' /etc/apt/sources.list.d/docker.list
使用官方一键脚本亦可:
curl -fsSL https://get.docker.com | sudo sh