从 Debian 10 Buster 升级到 Debian 11 Bullseye 安全更新 404 未找到

Aru*_*art 14 debian upgrade apt debian-buster

推荐升级路径,TL;DR:

备份数据,然后

apt update
apt upgrade
apt dist-upgrade
reboot
Run Code Online (Sandbox Code Playgroud)

还要禁用所有非主流包(如果有)。

然后为新发行版准备 APT:

sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*
Run Code Online (Sandbox Code Playgroud)

第一个命令显示错误:

apt update
...
Err:6 http://security.debian.org/debian-security bullseye/updates Release
  404  Not Found
Reading package lists... Done
E: The repository 'http://security.debian.org/debian-security bullseye/updates Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Run Code Online (Sandbox Code Playgroud)

Aru*_*art 25

这是关于 Debian 11 存储库结构的更改。RTFM 需要时间,所以在这里补上答案:

对于 Debian bullseye,安全套件现在被命名为 bullseye-security,而不是代号/更新,用户在升级时应相应地调整其 APT 源列表文件。

因此再执行一条命令:

sed -i 's/bullseye\/updates/bullseye-security/g' /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

现在 apt update 再次正常工作,您可以继续升级:

sudo apt update
sudo apt upgrade --without-new-pkgs
sudo apt full-upgrade
reboot
Run Code Online (Sandbox Code Playgroud)

检查系统是否升级:

lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:    11
Codename:   bullseye
Run Code Online (Sandbox Code Playgroud)

成功重启后,您可以删除旧内核:

sudo apt purge linux-image-4.19*
Run Code Online (Sandbox Code Playgroud)

另请查看日志文件,了解配置冲突或其他问题的错误消息。

问题列表在这里:https ://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.html