多数のパッケージをダウングレードする


11

おそらく、PPAまたは外部ソースからパッケージをインストールした可能性があります(Ubuntuリポジトリから入手可能なパッケージの.debをダウンロードしたなど)。
次に、公式リポジトリを優先して、これらのアップグレードされたバージョンを削除することを決定します。
最初のステップは、sources.listのエントリを削除することです。

すべてを利用可能な最高のバージョンにダウングレードする方法はありますか?私はあなたが特定のバージョンをインストールできることを知っています

apt-get install [パッケージ] = [バージョン]
しかし、すべてをダウングレードできますか?


現在のPPAアプリケーションを削除してから、公式リポジトリからインストールする1つのコマンドを意味しますか?私は次のようなことをしますsudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3- sudo apt-get repocleanたとえば、それを行うなどの単一のコマンドがあるとは思いません。
kingmilo 2013年

インストールしたすべてのパッケージをリポジトリから取得する必要がありますか?利用可能な最高のバージョンへのアップグレードはありません(これはopenSUSEs zypperで実行できるものです)。
マヌエル

リポジトリを削除し、パッケージが公式リポジトリで利用可能で、そのパッケージが追加したリポジトリで利用可能だったパッケージよりも高いバージョンである場合、そのパッケージは公式リポジトリで利用可能なバージョンにアップグレードされます。
kingmilo 2013年

1
はい、しかしそうでない場合はどうなりますか?アップグレードはまったく問題ありませんが、ダウングレードです。
マヌエル

回答:


16

パーティーには少し遅れましたが、答えを探しているときにこの質問を見つけました。今、共有するための自分の答えがあります。

apt_preferencesの神秘的な世界を介してこれを行うことができると思います。

/ tmp / a_p(またはその他)というファイルを次のように作成してみてください...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

次に実行します:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

ファイルの2番目のセクションは、基本的にOPが要求したことを実行します。つまり、ダウングレードを意味する場合でも、ライブリポジトリ内のすべてのパッケージの優先順位を上げてインストールします。

最初のセクションは、2番目のセクションがすべてのバックポートのインストールをトリガーするのを防ぎます。あなたはこれを気にするかもしれないし、望まないかもしれません。何が機能するかを確認するためにいじくり回すことをお勧めします。を使用apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkgして、a_pファイルが特定のパッケージに与える影響を確認できます。

TIM


6

では、スクリプトppa-purgeが見つかっ

たらどうしますか。PPAとアップグレードされたソフトウェアを追加した場合は、リポジトリを削除して、この手順でアップグレードされたすべてのパッケージをダウングレードできます。

ppa-purge [レポ名]

これは他の人にとって便利ですか?

しかし、インストールされているバージョンがより高い場合でも、利用可能な最も高いバージョンをインストールできる場合は、まだ開いています...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.