2 つのリポジトリを比較します - すべてのパッケージ バージョンのテーブルですか?

2 つのリポジトリを比較します - すべてのパッケージ バージョンのテーブルですか?

2 つの異なるリポジトリにあるすべてのパッケージのバージョンを表示して比較したいと思います。次のようになります。

libfoo | 1.2 | 1.3 libbar | 2.4 | 3.0 libbaz | ... | ...

そのようなウェブはありますか?

または、リポジトリ内のすべてのパッケージ バージョンのリストを取得して、スクリプトで比較する方法はありますか?

使用例は、システムのアップグレード後にどのバージョンが変更されるかを知ることができるようにすることです。

答え1

ツールを使用するマディソン異なるディストリビューション(そして異なるリポジトリ)における1つのパッケージのバージョン情報

  1. sudo apt-get install devscripts
  2. rmadison [the package name]

例えば、

$ rmadison alsa-utils

出力は[パッケージ バージョン ディストリビューション アーキテクチャ]のようになります。

 alsa-utils | 1.0.25-1ubuntu5   | precise         | source, amd64, armel, armhf, i386, powerpc
 alsa-utils | 1.0.25-1ubuntu5.2 | precise-updates | source, amd64, armel, armhf, i386, powerpc
 alsa-utils | 1.0.27.2-1ubuntu2 | trusty          | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 alsa-utils | 1.0.28-1ubuntu2   | vivid           | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 alsa-utils | 1.0.29-0ubuntu1   | wily            | source, amd64, arm64, armhf, i386, powerpc, ppc64el

または、このウェブサイトにアクセスしてリストを見ることもできます

Ubuntu 16.04 の最新パッケージ

答え2

訪問することができますUbuntuアップデート次のように:

検索条件パッケージ:

ここに画像の説明を入力してください


次にパッケージ検索をクリックします(以下に示すように、ページ内にさまざまなバージョンがあります):

ここに画像の説明を入力してください


また、バージョンに応じてパッケージ名の一致する可能性のあるものを見つけて、クリックすると詳細が表示されます。

ここに画像の説明を入力してください


ここでパッケージ名は例としてのみ使用されています。適切なパッケージを見つけるのに役立つことを願っています。Ubuntu リリースに応じたパッケージ名 + PPA。

答え3

2 つの異なるリポジトリの場合、ファイルを比較できますPackages。このファイルは、リリース チャネル ( trustytrusty-updatesなど)、コンポーネント ( mainmultiverseなど)、およびパッケージの種類 ( binary-amd64sourceなど) に固有です。

通常、ファイルは次の場所にあります。

/ubuntu/dists/$CHANNEL/$COMPONENT/binary-$ARCH/Packages{,.gz,.bz2,.xz}

ほとんどの公式ミラーのルートを基準とします。

例えばhttp://mirror.cse.iitk.ac.in/ubuntu/dists/precise/main/binary-amd64/Packages.gz

Packages関心のあるファイルを取得し(必要に応じて解凍し)、grepおよびPackageVersion出力を比較することができます。

サンプルコード:

curl -s http://mirror.cse.iitk.ac.in/ubuntu/dists/trusty/main/binary-amd64/Packages.gz | gunzip | grep -E '^(Package|Version)' | awk 'ORS=NR%2?FS:RS {print $2}' > repo-a.txt 
curl -s ftp://ftp.iitb.ac.in/distributions/ubuntu/archives/dists/trusty/main/binary-amd64/Packages.gz | gunzip | grep -E '^(Package|Version)' | awk 'ORS=NR%2?FS:RS {print $2}' > repo-b.txt 
diff repo-a.txt repo-b.txt

関連情報