私はChromebook用に開発中です。 Chrome OSはGentooに基づいているため、開発者モードで使用できるパッケージ管理システムはPortageです。emerge
パッケージをインストールするために使用されるコマンドですが、コマンドは非常に複雑で理解しにくく、必要なタスクを実行する方法については明確な指示はありません。
私は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/Packages
Portageに接続するように設定されたすべてのリポジトリで利用可能なすべてのパッケージを含む一種のキャッシュファイルだと思いました。私の最初の問題は、出力に次の名前が含まれていることですxxd-1.10-r3
。この名前はインストールに入力した名前ではありませんが、xxd
現在のパッケージリビジョン名などがパッケージごとに変更されるため、通常のプログラムを作成できません。それらをきれいにする。後で気づいた2番目の問題は、その名前がおそらく/usr/local/portage/packages/Packages
利用可能なパッケージのリストではなく、インストールされたパッケージの一種と仮想パッケージのリストであるということです。
私が達成したいことをどうしますか?