如何下载apt-get update获取的Debian安全更新相关文件
如何下载apt-get update获取的Debian安全更新相关文件
嘿,我来帮你理清这个问题!你在apt-get update日志里看到的那些条目其实是简化后的仓库元数据记录,并不是完整的下载URL。要拿到对应的实际文件,咱们可以用下面几种方法:
方法一:手动构造完整下载URL
日志里的每条记录都可以拆解成「仓库地址 + 发行版路径 + 文件名」的结构,具体规则是:
- 先把日志里的仓库地址(比如
http://deb.debian.org/debian)后面加上/dists/ - 接着加上发行版代号和更新分支(比如
stretch或者stretch/updates) - 最后加上日志里的文件名(比如
InRelease、Release、Packages),注意架构相关的amd64/all要对应到binary-amd64/binary-all子目录
举几个你日志里的例子:
- 日志条目:
http://deb.debian.org/debian stretch InRelease
完整URL:http://deb.debian.org/debian/dists/stretch/InRelease - 日志条目:
http://security.debian.org/debian-security stretch/updates/main amd64 Packages
完整URL:http://security.debian.org/debian-security/dists/stretch/updates/main/binary-amd64/Packages - 日志条目:
http://deb.debian.org/debian stretch/main all Packages
完整URL:http://deb.debian.org/debian/dists/stretch/main/binary-all/Packages
构造好URL后,你就可以用wget或者curl直接下载了,比如:
wget http://deb.debian.org/debian/dists/stretch/main/binary-amd64/Packages
方法二:让apt显示完整下载URL
如果你不想手动构造,可以让apt-get update输出详细的下载日志,这样就能直接看到实际请求的完整URL了。执行下面的命令:
apt-get update -o Debug::Acquire::http=1
运行后,日志里会出现类似Acquire:1 http://deb.debian.org/debian/dists/stretch/InRelease [255 kB]这样的行,其中的URL就是你可以直接用来下载的完整路径。
方法三:批量下载仓库元数据
如果你需要批量获取这些文件,可以使用apt-mirror工具,它能帮你镜像指定仓库的元数据和包文件。安装后,编辑/etc/apt/mirror.list配置文件,添加你需要的仓库源,比如:
deb http://deb.debian.org/debian stretch main deb http://security.debian.org/debian-security stretch/updates main deb http://deb.debian.org/debian stretch-updates main
然后执行apt-mirror命令,它就会自动下载所有相关的元数据文件到指定目录(默认是/var/spool/apt-mirror/)。
备注:内容来源于stack exchange,提问作者Developer
相关产品推荐
相关产品推荐

