パッケージをダウンロードするリポジトリを一覧表示する「apt-get -s update」オプションまたは他のaptコマンドはありますか?

パッケージをダウンロードするリポジトリを一覧表示する「apt-get -s update」オプションまたは他のaptコマンドはありますか?

apt-get -s upgradeまたは、パッケージをダウンロードするリポジトリを一覧表示するオプションを持つ他のaptコマンドはありますか?

apt-cache policy個々のパッケージを表示しますが、パッケージごとにリポジトリを1行ずつ表示するには何かが必要です。

ベストアンサー1

次のように試すことができます。

apt-get -s upgrade | awk '/^Inst/ {print $2}' | 
    xargs apt-cache policy | 
    awk '/:$|^$/ && ! /Version table:/ {print "\n" $0 } ; /:\/\// { print $2 }'

出力(Debian sidシステムで実行中)は次のとおりです。

sqlite3:
http://my.local.mirror.redacted/debian

libsqlite3-0:
http://my.local.mirror.redacted/debian

libsqlite3-0:i386:
http://my.local.mirror.redacted/debian

python-newt:
http://my.local.mirror.redacted/debian

libnewt0.52:
http://my.local.mirror.redacted/debian

libruby:
http://my.local.mirror.redacted/debian
http://my.local.mirror.redacted/debian

mercurial:
http://my.local.mirror.redacted/debian

mercurial-common:
http://my.local.mirror.redacted/debian
http://my.local.mirror.redacted/debian

sysstat:
http://my.local.mirror.redacted/debian

libmilter1.0.1:
http://my.local.mirror.redacted/debian

一部のパッケージには2つのURLがあります。これは、私のシステムがi386アーキテクチャを追加したamd64であり、このパッケージにはアップグレード可能なamd64およびi386バージョンがあるためです。

完全な出力ラインが必要な場合は、次のようになります。

mercurial-common:
        990 http://my.local.mirror.redacted/debian unstable/main amd64 Packages
        990 http://my.local.mirror.redacted/debian unstable/main i386 Packages

{ print $2 }次に、2番目のスクリプトから削除しますawk

おすすめ記事