在 Debian 中降级软件包

在 Debian 中降级软件包

我的电脑上安装了 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

相关内容