web-dev-qa-db-ja.com

カテゴリ別にソートされた(K)ubuntuにインストールされているパッケージのリストを取得する方法

Kubuntuを使用しています。システムにインストールされているパッケージのリストを取得したいのですが、特に、カテゴリフィルタータブのMuon Package Managerに表示されるように、カテゴリ別に並べ替えてもらいたいのです。視覚的な参考のために、次の画像のウィンドウの左側にあります。

enter image description here

Muonの内部から、[ファイル]メニューにインストールされているパッケージのリストをエクスポートするオプションがありますが、プレーンリストをエクスポートするだけで(dpkg --get-selectionsコマンドを実行すると思います)、それは私が探しているものではありません。

dpkgdpkg-queryapt、およびapt-getのマニュアルページを調べようとしましたが、役立つ情報が見つかりませんでした。

私が得た唯一の手がかりは、dpkg-queryのマニュアルに、いくつかのコマンドオプションを使用して出力を並べ替えることができると記載されていることですが、カテゴリで並べ替える方法が見つかりません。

どんな手掛かり?

2
Sekhemty

実際、これはdpkg-queryと他のいくつかのツールを使用して行うことができます。

dpkg-query -Wf='${package}\t${Section}\t${status}\n' | grep installed | 
  gawk '{print $2"\t"$1}' | sort 

説明:

  • dpkg-query -Wf='${package}\t${section}\t${status}\n':このコマンドは、すべてのパッケージ(-W)をpackage name <TAB> package section <TAB> package statusとして一覧表示します。 dpkg-queryのマニュアルページから:

    -f, --showformat=format
          This  option  is  used  to specify the format of the output --show 
          will produce. The format is a string that will be output for each package 
          listed.
    

    したがって、このコマンドだけで次のような出力が生成されます。

    $ dpkg-query -Wf='${package}\t${Section}\t${status}\n' | head
    a2ps    text    install ok installed
    abiword editors install ok installed
    abiword-common  editors install ok installed
    abiword-plugin-grammar  editors install ok installed
    abiword-plugin-mathview editors install ok installed
    accountsservice admin   install ok installed
    acl utils   install ok installed
    acpi    utils   install ok installed
    acpi-support-base   admin   install ok installed
    acpid   admin   install ok installed
    
  • grep installed:ステータスがinstalledのパッケージを説明する行のみを選択します。

  • gawk '{print $2"\t"$1}':gawkを使用して、関心のある2つのフィールド(パッケージ名とセクション)のみを印刷し、出力を読みやすく並べ替えやすくするために、最初にセクションを印刷し、次にパッケージ名を印刷します。

  • sort:セクションが最初のフィールドになっているため、パッケージをセクションで並べ替えるには、単純なsortで十分です。

最終的な出力は次のようになります。

admin   accountsservice
admin   aptdaemon-data
editors libreoffice-impress
fonts   fonts-telu
games   enemylines3
games   enemylines7
gnome   cinnamon
libdevel    libxmu-dev
libs    libapt-pkg4.12
oldlibs hpijs
python  python-gi-cairo
5
terdon