Ubuntuにインストールされているソフトウェアパッケージとバージョンをスキャンしてインポートします。

Ubuntuにインストールされているソフトウェアパッケージとバージョンをスキャンしてインポートします。

Ubuntuにインストールされているパッケージのリストとパッケージのバージョンを取得するPythonコードはありますか?私はPythonコードを見ました。手動でインストールされたパッケージリストの生成と各パッケージのクエリ。ただし、バージョンIDのリストはありません。インストールされたパッケージのバージョンを入手する方法を知っている人はいますか?

答え1

これに既存のコードがあるかどうかはわかりません。しかし、文書を見るとわかります/var/lib/dpkg/status。インストールされたパッケージに関するすべての情報はこのファイルに保存されます。

Pythonに精通していなくても、このファイルを解析するコードを書くのはとても簡単です。

答え2

これがaskubuntuに移行されるべきではないかどうかはわかりませんが、上記のスレッドと同じ方法を使用してください。 dpkg / dpkg-queryを実行してすべてのデータのダンプを取得し、標準のPython解析メカニズムを使用して関連情報を抽出します。

もちろん、すでに分岐しているので、bash自体ですべてのテキストを変更できます。

または、バージョンを含むステータスファイル( "Dir :: Etc :: Status"?)がある場合は、それを見つけます。この方法が最もきれいです。

答え3

-F--format)オプションをaptitudeに渡します。表示されるフィールドの指定

aptitude --disable-columns -F '%p %v' search '~A'

Pythonはpackagesapt_pkgのモジュールを使用しますpython-apt

関連情報