web-dev-qa-db-ja.com

Ubuntuの特定のバージョン(必ずしもインストールしたものとは限りません)で利用可能なすべてのパッケージのリストを取得するにはどうすればよいですか?

次のコマンドを使用して、利用可能なすべてのパッケージとその詳細のリストを取得できます。

apt-cache search .

次のようなパッケージのリストが出力されます。

i   0ad                - Real-time strategy game of ancient warfare
i   0ad-data           - Real-time strategy game of ancient warfare (data files)                            
i   0ad-data-common    - Real-time strategy game of ancient warfare (common data files)                        
p   0ad-dbg            - Real-time strategy game of ancient warfare (debug)                                    
p   0xffff             - Open Free Fiasco Firmware Flasher                                                     
p   2ping              - Ping utility to determine directional packet loss                                     
p   2vcard             - Perl script to convert an addressbook to VCARD file format                            
p   3270-common        - Common files for IBM 3270 emulators and pr3287                                        
p   389-admin          - 389 Directory Administration Server 
...

インストールしていないUbuntuのバージョンのパッケージのリストを取得するにはどうすればよいですか?

だから、具体的には、Ubuntuの特定のバージョンで利用可能なすべてのパッケージのデータベースをどこでダウンロードできますか、そしてそれから詳細(おそらくバージョン、サイズ、長い説明を含む...)をプレーンテキストまたは形式で取得するにはどうすればよいですかスクリプトで簡単に解析できますか?

5
JonasCz

chdist を使用します。このコマンドを使用すると、通常どおりapt-getおよびapt-cacheを実行できますが、Ubuntu(またはDebian、または実際には他のDebian派生ディストリビューション)の異なるリリースに対してです。

また、 grep-dctrl のラッパーも提供します。これにより、メタデータフィールドを簡単に検索およびレポートできます。

3
Robie Basak

1.オンライン

http://packages.ubuntu.com/muruの答え として使用したい

2.オフライン、手動

それ以外の場合は、オフラインソリューションを探している場合は、MRにする必要があります。 APTおよび http://archive.ubuntu.com/ubuntu/dists/ からダウンロードを開始します。

p=$(pwd); for c in main universe multiverse restricted; do for u in "" -security -updates; do for a in binary-AMD64 binary-i386; do mkdir trusty${u}_${c}_$a; cd trusty${u}_${c}_$a; wget http://archive.ubuntu.com/ubuntu/dists/trusty$u/$c/$a/Packages.bz2; cd $p; done; done; done;

結果:

$ tree
.
├── trusty_main_binary-AMD64
│   └── Packages.bz2
├── trusty_main_binary-i386
│   └── Packages.bz2
├── trusty_multiverse_binary-AMD64
│   └── Packages.bz2
├── trusty_multiverse_binary-i386
│   └── Packages.bz2
├── trusty_restricted_binary-AMD64
│   └── Packages.bz2
├── trusty_restricted_binary-i386
...

3. apt-cache/overlay-filesystem/chrootを使用したオフライン

悪い、高度なセットアップ:

実際、16.04にインストールされた同じsources.list*でカスタムapt-cacheを使用しますが、apt/var/lib/apt/lists/の16.04リアルリストファイルを上書きしません。変更は行われますoverlayファイルシステムに。

セットアップ:

Sudo apt-get install chroot
mkdir sandbox0
cd sandbox0
mkdir upper work merged
Sudo mount -t overlay overlay -o lowerdir=/,upperdir=./upper,workdir=./work ./merged
Sudo chroot merged/
echo "deb http://archive.ubuntu.com/ubuntu/ trusty universe multiverse main restricted" > /etc/apt/sources.list
rm -r /etc/apt/sources.list.d/*
apt-get update
exit

Use:(スクリプトを準備できます)

Sudo mount -t overlay overlay -o lowerdir=/,upperdir=./upper,workdir=./work ./merged
Sudo chroot merged/

apt-cache ...
8
user.dz

既に投稿されたすべてのリストを表示するコマンドがありますが、[OK]をもう少し詳しく見てみましょう。したがって、apt-cache search .またはapt-cache search ''は約2300行以上を出力します。これは実際には、異なるDEバージョンを含むすべての可能なパッケージの全量です。

より簡単にするには、次の方法で名前を取得するだけです。

apt-cache search '' | sort -d | awk '{print $1}'

または、より多くの情報が好きですか、apt-cache policyを介してそれをロールすることができる長いリストを気にしないでください:

apt-cache policy $(apt-cache search '' | sort -d | awk '{print $1}')
2
Videonauth