如何逆向「建議」頻道套餐升級?

如何逆向「建議」頻道套餐升級?

我有一個 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.htmlhttps://wiki.ubuntu.com/Testing/EnableProposexenial-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
    
  4. 運行sudo apt update後跟sudo apt full-upgrade.

  5. 透過運行刪除檔案sudo rm /etc/apt/preferences.d/99-downgrade-proposed

答案2

  1. 儲存目前安裝的軟體包列表建議的套房:

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

    注意力:確保產生的檔案大小(以位元組為單位)遠低於 128 KiB,否則您可能會在步驟 4 中遇到問題。

  2. 停用建議的存儲庫套件。如果你不知道怎麼做,請參閱如何新增「建議的」儲存庫?並做相反的事。

  3. 更新本地包索引:

    sudo apt-get update
    
  4. 將步驟 1 清單中的所有套件強制轉換為目前版本的最新已知版本:

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

    刪除儲存庫後建議的套件和套件索引更新最新的已知套件版本將來自更新,安全,或您發布的“裸”套件,具體取決於您啟用的其他套件及其包含的內容。

PS:以上說明與刪除的說明類似向後移植套件及其所有已安裝軟體包的降級。只需替換所有實例建議的向後移植

相關內容