我的电脑上安装了 Debian 稳定版本。我曾经安装了一些测试版软件包,但现在它们出现了一些问题,所以我想降级它们。我尝试了以下命令:
apt-get --reinstall install `apt-show-versions | grep newer | cut -d ' ' -f 1 | tr '\n' ' '`
这不起作用,因为 apt 尝试检索相同版本的软件包并抱怨无法下载它们,因为我现在没有用于测试软件包的源sources.list
apt-get -t squeeze install `apt-show-versions | grep newer | cut -d ' ' -f 1 | tr '\n' ' '`
也不起作用。显示已安装最新版本的软件包。我以为是-t sqeeze
强制 apt 从稳定版本安装软件包。
无论如何我该如何解决这个任务?
答案1
我用的是这个:
for p in $(apt-show-versions|grep "newer than version in archive"|cut -d\ -f1); do apt-get install $p=$(apt-cache show $p|grep ^Version|tail -1|cut -d\ -f2); done
(两者后面都有一个双空格-d\
。)
答案2
正如 @wullxz 所说。您可以通过清除新软件包、从 中删除或注释掉不稳定的存储库sources list
、安装旧软件包,然后取消注释或再次将不稳定的存储库添加到 (sources.list
如果您想使用其中的一些其他软件包)。
- 清除新包:
sudo apt-get 清除我的软件包
- 编辑
sources.list
并注释掉测试仓库:
sudo nano /etc/apt/sources.list
- 再次安装旧的稳定包:
sudo apt-get 更新
sudo apt-get 安装我的软件包
- (可选)如果需要,请再次使用测试 repo(如上所述),并暂时锁定该特定包的版本:
# 取消注释测试仓库
sources.list
sudo nano /etc/apt/sources.list
# 锁定包的当前版本。
回显“my-package hold”| dpkg --set-selections
- 如果您想移除锁并再次安装测试包:
回显“my-package install”| dpkg --set-selections