web-dev-qa-db-ja.com

「提案」チャンネルパッケージのアップグレードを元に戻す方法

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チャンネルを再度有効にするまで、インストールされているものよりも高い、またはまったく更新を受信しませんか?

5
user364819

適応 http://www.webupd8.org/2013/11/how-to-downgrade-proposed-repository.html および https://wiki.ubuntu.com/Testing/ EnableProposedxenial-proposedリポジトリからインストールされたパッケージは、以下を実行することでダウングレードできます(xenialを使用しているリリースのコードネームに置き換えます)。

  1. xenial-proposedsoftware-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を実行してファイルを削除します。
12
edwinksl
  1. proposedスイートから現在インストールされているパッケージのリストを保存します。

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

    注意:結果のバイト単位のファイルサイズが128 KiBを大幅に下回ることを確認してください。そうしないと、手順4で問題が発生する可能性があります。

  2. proposedリポジトリスイートを無効にします。方法がわからない場合は、 「提案された」リポジトリを追加するにはどうすればよいですか? を参照し、その逆を行います。

  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)" --
    

    proposedスイートおよびパッケージインデックスの更新のリポジトリを削除すると、最新の既知のパッケージバージョンはupdatessecurity、または他のどのスイートに応じてリリースの「ベア」スイート有効にし、それらに含まれるもの。

追伸:上記の手順は、backportsスイートの削除と、インストールされているすべてのパッケージのダウングレードの手順に類似しています。 proposedのすべてのインスタンスをbackportsに置き換えるだけです。

6
David Foerster