
我有一個 Ubuntu GNOME 16.04 和 GNOME 3.18 64 位元虛擬機,在該虛擬機中我需要在通道中測試某些內容,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-propose-repository.html和https://wiki.ubuntu.com/Testing/EnableProposexenial-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:以上說明與刪除的說明類似向後移植套件及其所有已安裝軟體包的降級。只需替換所有實例建議的和向後移植。