降级一堆包

Man*_*uel 11 package-management apt

也许您已经从 PPA 或外部源安装了软件包(例如,为可通过 Ubuntu 存储库获得的软件包下载了 .deb。)。
然后您决定放弃这些升级版本以支持官方存储库。
第一步是删除sources.list 的条目。

有没有办法将所有版本都降级到可用的最高版本?我知道你可以安装特定版本

apt-get install [包]=[版本]
但是你能全部降级吗?

小智 16

聚会有点晚了,但我在寻找答案时发现了这个问题,现在我有了自己的答案要分享。

我相信你可以通过 apt_preferences 的神秘世界来做到这一点。

尝试制作一个名为 /tmp/a_p (或其他)的文件,像这样......

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001
Run Code Online (Sandbox Code Playgroud)

然后运行:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade
Run Code Online (Sandbox Code Playgroud)

该文件的第二部分基本上按照 OP 的要求执行,因为它提高了任何实时存储库中所有包的优先级,以使它们安装,即使这意味着降级。

第一部分防止第二部分触发所有反向端口的安装。您可能会或可能不会关心或想要这个。我建议修修补补看看有什么用。您可以使用apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkg来查看 a_p 文件对特定包的影响。

蒂姆


Man*_*uel 7

好的,如果找到脚本ppa-purge

如果您添加了 PPA 并升级了软件,您可以删除 repo 并在此步骤中降级所有升级的软件包

ppa-purge [仓库名称]

这对其他人有用吗?

但是如果您可以安装可用的最高版本,即使安装的版本更高,它仍然是打开的......