降级一堆包


11

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

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

apt-get install [package] = [version]
但是你能降级所有吗?


您是说要删除当前PPA应用程序,然后再从官方存储库安装这些命令的命令吗?我会做类似的事情sudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3-我不相信只有一个命令sudo apt-get repoclean可以做到这一点。
金米洛

所以我必须从仓库中获取所有已安装的软件包吗?没有升级到最高可用版本(您可以使用openSUSEs zypper进行此操作)。
曼努埃尔

如果删除存储库,并且该软件包在官方存储库中可用,并且该软件包的版本比您添加的存储库中可用的软件包的版本高,则该软件包将升级为官方存储库中可用的版本。
金米洛

1
是的,但是如果没有呢?升级根本没有问题,但是降级了。
曼努埃尔

Answers:


16

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

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

尝试像这样创建一个名为/ tmp / a_p(或其他名称)的文件...

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

Package: *
Pin: release n=*
Pin-Priority: 1001

然后运行:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

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

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

蒂姆


6

好的,找到的脚本是ppa-purge

如果添加了PPA和升级的软件,则可以删除该存储库,并在此步骤中将所有使用

ppa-purge [回购名称]

这对其他人有用吗?

但是,即使您安装的版本更高,也可以安装最新的可用版本,它仍然处于打开状态...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.