我们有一个 Python 脚本,可以执行以下操作:
apt-get dist-upgrade -o Dir::Etc::sourcelist=/home/user/security.list -s
此脚本适用于 ubuntu 和 debian 11。但在 debian 12 中,默认的sources.list 文件有一些更改。 例如,这是debian 11中的示例sources.list:
deb http://security.debian.org/debian-security bullseye-security main
deb-src http://security.debian.org/debian-security bullseye-security main
debian 12 中的 Sources.list 为空,并带有语句“# See /etc/apt/sources.list.d/debian.sources ”。这个文件的内容
Types: deb deb-src
URIs: mirror+file:///etc/apt/mirrors/debian.list
Suites: bookworm bookworm-updates bookworm-backports
Components: main
Types: deb deb-src
URIs: mirror+file:///etc/apt/mirrors/debian-security.list
Suites: bookworm-security
Components: main
我查看了文件“/etc/apt/mirrors/debian-security.list”的内容,因为我只对安全包感兴趣。它只有一个 URl (https://cdn-aws.deb.debian.org/debian-security)。 我尝试在 apt-get dist-upgrade 命令中使用此文件,但它引发了错误:
# cat /etc/apt/mirrors/debian-security.list
https://cdn-aws.deb.debian.org/debian-security
# apt-get dist-upgrade -o Dir::Etc::sourcelist=/etc/apt/mirrors/debian-security.list -s
E: Malformed line 1 in source list /etc/apt/mirrors/debian-security.list (type)
E: The list of sources could not be read.
E: Malformed line 1 in source list /etc/apt/mirrors/debian-security.list (type)
E: The list of sources could not be read.
我想了解提取/获取安全源列表文件并在 dist-upgrade 命令中使用它的正确方法是什么。请给我指出正确的方向。
谢谢。
我认为你的“.list”文件应该按照惯例编写
deb http://security.debian.org/ bookworm-security main contrib non-free non-free-firmware
https://www.debian.org/releases/bookworm/errata.en.html
使用 deb.debian.org 已经是选择镜像的一种方式
https://www.debian.org/mirror/list.en.html
对我来说,你是在简化事情的基础上增加复杂性