在 Debian 系统中,如果你需要获取或安装旧版本的软件包,常见做法有以下几种,按使用频率从高到低说明。
apt-get install <包>=<版本>(最常见)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
sudo apt-get install nginx=1.22.1-9
✅ 适用于:
当仓库中已删除旧版本时,可以使用 Debian 官方快照仓库。
访问:
https://snapshot.debian.org/
例如查找 nginx:
https://snapshot.debian.org/package/nginx/
编辑:
sudo nano /etc/apt/sources.list
添加(示例):
deb https://snapshot.debian.org/archive/debian/20230601T000000Z/ bookworm main
⚠️ 注意:
sudo apt-get update
sudo apt-get install nginx=1.22.1-9
安装完成后 删除快照源,避免系统混乱。
.deb 包(不自动解决依赖)apt-get download 包名=版本号
示例:
apt-get download nginx=1.22.1-9
sudo dpkg -i nginx_1.22.1-9_amd64.deb
sudo apt-get -f install
✅ 适合:
适用于非常老的版本(如 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 |
如果你能告诉我:
我可以给你精确命令。