我有一个带有 GNOME 3.18 64 位 VM 的 Ubuntu GNOME 16.04,并且在该 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
再次启用该频道?
答案1
适应http://www.webupd8.org/2013/11/how-to-downgrade-proposed-repository.html和https://wiki.ubuntu.com/Testing/EnableProposedxenial-proposed
,可以通过执行以下操作来降级从存储库安装的软件包(替换xenial
为您所使用的版本的代号):
- 按照您的建议禁用
xenial-proposed
存储库。software-properties-gtk
- 在 中
/etc/apt/preferences.d
,创建一个名为 的文件99-downgrade-proposed
。 将以下行复制并粘贴到文件中:
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
运行
sudo apt update
然后接着sudo apt full-upgrade
。- 通过运行删除该文件
sudo rm /etc/apt/preferences.d/99-downgrade-proposed
。
答案2
保存当前安装的软件包列表建议的套房:
aptitude -F '%p' search "?narrow(?installed, ?archive($(lsb_release -sc)-proposed))" > /path/to/proposed-packages.txt
注意力:确保生成的文件大小(以字节为单位)远低于 128 KiB,否则您可能会在步骤 4 中遇到问题。
禁用建议的存储库套件。如果你不知道如何操作,请参阅我如何添加“建议的”存储库?并做相反的操作。
更新本地包索引:
sudo apt-get update
将步骤 1 中的列表中的所有软件包强制转换为当前版本的最新已知版本:
xargs -x -r -d '\n' -a /path/to/proposed-packages.txt -- sudo apt-get install -f -t "$(lsb_release -sc)" --
删除存储库后建议的套件和软件包索引更新最新的已知软件包版本将来自更新,安全,或者您的版本的“裸”套件,具体取决于您启用的其他套件以及它们包含的内容。
PS:以上说明与删除向后移植套件并降级其所有已安装的软件包。只需替换建议的和向后移植。