Portageにインストールできるパッケージ名のリストを取得する

Portageにインストールできるパッケージ名のリストを取得する

私はChromebook用に開発中です。 Chrome OSはGentooに基づいているため、開発者モードで使用できるパッケージ管理システムはPortageです。emergeパッケージをインストールするために使用されるコマンドですが、コマンドは非常に複雑で理解しにくく、必要なタスクを実行する方法については明確な指示はありません。

私は2つのことができるようにしたいです:

  1. インストールされているパッケージの名前を一覧表示します。
  2. インストールできるパッケージ名を一覧表示します。

NAMEどちらの場合も、パッケージの「名前」は、emerge NAMEそのパッケージをインストールするためにコマンドで置き換えられる正確な文字列です。

最初の問題に対する解決策と思われる内容を書きましたが、2番目の問題に対する解決策はあまり満足できませんでした。

lipkgsインストールされているパッケージ()を一覧表示するスクリプトは次のとおりです。

#!/bin/bash

cat /usr/local/var/lib/portage/world | sed "s/^.*\\///" | sort

利用可能なパッケージを一覧表示するスクリプト()は次のとおりですlapkgs

#!/bin/bash

cat /usr/local/portage/packages/Packages | grep "^CPV: " | sed "s/^CPV: .*\\///g" | sort

最初にこの記事を書いたときlapkgs、私はこれが/usr/local/portage/packages/PackagesPortageに接続するように設定されたすべてのリポジトリで利用可能なすべてのパッケージを含む一種のキャッシュファイルだと思いました。私の最初の問題は、出力に次の名前が含まれていることですxxd-1.10-r3。この名前はインストールに入力した名前ではありませんが、xxd現在のパッケージリビジョン名などがパッケージごとに変更されるため、通常のプログラムを作成できません。それらをきれいにする。後で気づいた2番目の問題は、その名前がおそらく/usr/local/portage/packages/Packages利用可能なパッケージのリストではなく、インストールされたパッケージの一種と仮想パッケージのリストであるということです。

私が達成したいことをどうしますか?

答え1

すべてのパッケージを一覧表示します。 equery list '*'

横にIがあれば設置されています。

から:https://wiki.gentoo.org/wiki/Equery

関連情報