如何逆转“建议的”频道包升级?

5 upgrade updates package-management apt downgrade

我有一个Ubuntu 16.04 GNOME与GNOME 3.18的64位虚拟机,并在VM我需要测试的东西的xenial-proposed通道,所以我启动它在software-properties-gtk,然sudo apt-get update && sudo apt-get dist-upgrade而从已安装的所有的升级xenial-proposed通道,因为我无法找到一种方法得到它只是为了升级我需要的包。

但是现在我希望将所有升级到他们的xenial-proposed版本的打包降级到稳定/正常渠道中的版本,但是如何实现呢?我可以ppa-purge用来做这个吗?如果是这样,如何?

如果我只是xenial-proposed通过与启用相同的方式禁用xenial-proposed通道,一旦版本号高于已安装的版本号,打包安装并升级到它们的版本将开始再次从稳定/正常通道接收更新,或者我将不会收到任何更新直到我xenial-proposed再次启用频道?

edw*_*ksl 14

适配http://www.webupd8.org/2013/11/how-to-downgrade-proposed-repository.htmlhttps://wiki.ubuntu.com/Testing/EnableProposed,从xenial-proposed仓库安装的包可以降级通过执行以下操作(替换xenial为您正在使用的任何版本的代号):

  1. 按照您的建议禁用xenial-proposed存储库software-properties-gtk
  2. 在 中/etc/apt/preferences.d,创建一个名为99-downgrade-proposed.
  3. 将以下行复制并粘贴到文件中:

    Package: *
    Pin: release a=xenial
    Pin-Priority: 1001
    
    Package: *
    Pin: release a=xenial-updates
    Pin-Priority: 1001
    
    Package: *
    Pin: release a=xenial-security
    Pin-Priority: 1001
    
    Package: *
    Pin: release a=xenial-backports
    Pin-Priority: 1001
    
    Package: *
    Pin: release a=xenial-proposed
    Pin-Priority: -1
    
    Run Code Online (Sandbox Code Playgroud)
  4. 运行sudo apt update其次sudo apt full-upgrade

  5. 通过运行删除文件sudo rm /etc/apt/preferences.d/99-downgrade-proposed


Dav*_*ter 6

  1. 保存当前从建议的套件中安装的软件包列表:

    aptitude -F '%p' search "?narrow(?installed, ?archive($(lsb_release -sc)-proposed))" > /path/to/proposed-packages.txt
    
    Run Code Online (Sandbox Code Playgroud)

    注意:确保生成的文件大小(以字节为单位)远低于 128 KiB,否则您可能会在步骤 4 中遇到问题。

  2. 禁用建议的存储库套件。如果您不知道如何操作,请参阅如何添加“建议的”存储库?并做相反的事情。

  3. 更新本地包索引:

    sudo apt-get update
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将第 1 步列表中的所有软件包强制转换为当前版本的最新已知版本:

    xargs -x -r -d '\n' -a /path/to/proposed-packages.txt -- sudo apt-get install -f -t "$(lsb_release -sc)" --
    
    Run Code Online (Sandbox Code Playgroud)

    在删除建议套件的存储库和软件包索引更新后,最新的已知软件包版本将来自更新安全性或您发布的“裸”套件,具体取决于您启用的其他套件以及什么他们包含。

PS:上面的说明类似于移除backports套件并降级其所有已安装软件包的说明。简单地用backports替换所有提出的实例。