结论与要点
可以。fetchdebian 支持按指定的发行版版本与软件包版本进行下载,因此能够获取旧版本的软件包或旧发行版中的软件包。常用方式包括:通过参数指定发行版(如 -d/–distribution)与组件(如 -c/–component=main,contrib,non-free),以及直接指定软件包版本(如 package=version)。是否能成功取决于该版本是否仍在配置的镜像源的历史仓库中仍被保留。
常用做法
- 指定发行版版本下载
- 使用 -d/–distribution 指定目标发行版(如 buster、bullseye、bookworm),并结合 -c/–component 选择组件(如 main、contrib、non-free),即可拉取该发行版仓库中的软件包。示例:fetchdebian -d bullseye -c main,non-free PACKAGE。
- 指定软件包精确版本
- 使用 package=version 语法下载指定版本,例如:fetchdebian vim=2:8.2.0875-1。
- 只下载源码包
- 使用 -s/–source 仅获取源码包(.dsc/.tar.* 等),便于在本地构建旧版本。
- 仅打印下载地址
- 使用 -p/–print-uris 先列出将要下载的 .deb URL,确认存在后再实际下载,便于排查版本是否可用。
注意事项
- 旧版本是否可下载取决于镜像是否仍提供该版本的历史包。若镜像已清理旧版本,则无法获取;此时可尝试更换为官方或归档镜像源,或改用 snapshot.debian.org 获取历史快照后再下载对应 .deb。
- 安装下载的旧版 .deb 时,可能因依赖关系不满足而需要同时准备其依赖的旧版本,或优先使用 apt 在离线环境进行本地依赖解析与安装(例如配合本地缓存/本地仓库)。