温馨提示×

Debian如何提取旧版本

小樊
47
2026-07-23 15:37:41
栏目: 智能运维

在 Debian 系统中,如果你需要获取或安装旧版本的软件包,常见做法有以下几种,按使用频率从高到低说明。


一、使用 apt-get install <包>=<版本>(最常见)

1️⃣ 查看可用的旧版本

apt-cache policy 包名

示例:

apt-cache policy nginx

输出类似:

nginx:
  Installed: 1.22.1-9
  Candidate: 1.24.0-1
  Version table:
     1.24.0-1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
     1.22.1-9 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages

2️⃣ 安装指定旧版本

sudo apt-get install nginx=1.22.1-9

✅ 适用于:

  • 当前仓库中仍保留的旧版本
  • 降级安装

二、从 Debian 快照仓库(snapshot.debian.org)提取旧版本 ✅(强烈推荐)

当仓库中已删除旧版本时,可以使用 Debian 官方快照仓库

1️⃣ 查找旧版本

访问:

https://snapshot.debian.org/

例如查找 nginx

https://snapshot.debian.org/package/nginx/

2️⃣ 临时添加快照源

编辑:

sudo nano /etc/apt/sources.list

添加(示例):

deb https://snapshot.debian.org/archive/debian/20230601T000000Z/ bookworm main

⚠️ 注意:

  • 日期必须是快照存在的日期
  • 建议只临时使用

3️⃣ 更新并安装

sudo apt-get update
sudo apt-get install nginx=1.22.1-9

安装完成后 删除快照源,避免系统混乱。


三、下载 .deb 包(不自动解决依赖)

1️⃣ 只下载不安装

apt-get download 包名=版本号

示例:

apt-get download nginx=1.22.1-9

2️⃣ 手动安装

sudo dpkg -i nginx_1.22.1-9_amd64.deb
sudo apt-get -f install

✅ 适合:

  • 离线环境
  • 手动分析包

四、从 Debian 历史版本仓库(archive.debian.org)

适用于非常老的版本(如 Debian 8/9)。

deb http://archive.debian.org/debian/ jessie main

⚠️ 不推荐用于生产系统


五、锁定版本(防止自动升级)

安装旧版本后,防止被升级:

sudo apt-mark hold 包名

取消锁定:

sudo apt-mark unhold 包名

六、推荐做法总结 ✅

场景 推荐方式
当前仓库中还有旧版本 apt-get install 包=版本
仓库中已删除 snapshot.debian.org
离线安装 apt-get download
长期固定版本 apt-mark hold

如果你能告诉我:

  • Debian 版本(如 11 / 12)
  • 具体软件包名
  • 是否需要降级 / 回滚 / 离线部署

我可以给你精确命令

0