0

ポート経由でインストールされたパッケージに関する情報を収集する、perl で書かれたスクリプトがあります。残念ながら、ポートのバージョンを判断する機能的で簡単な方法はないようです。確かに、これを使用できます:

pkg_version -v

これにより、すべてのパッケージ、その状態に関連するシンボル (更新が必要、ポートの成功など)、およびそのバージョンが表示されます。

これはスクリプト内にあるので、私は本当にこれをしたくありません:

my $blah = "pkg_version -v | grep -vE '(up-to-date|succeeds)'|awk '{print \$1}'";
# Then make a var and run it through with backticks.

これにより、すべてのパッケージのリストが得られ、それを配列に変換して、それを使って魔法をかけることができます。私がやりたいのは、パッケージの名前が提供されているのに対し、パッケージのバージョンが何であるかを把握することです。

繰り返しますが、これはパイプや awk などで実行できますが、回避できる場合は実行したくありません。

これは情報を見つけるのが非常に難しいと思うので、皆さんが思いつくことができるものを教えてください.

PSここにいくつかの情報があります:

FreeBSD バージョン: 9.1 Arch: x64 Perl バージョン: 5.14.2 (amd64-freebsd-thread-multi)

誰かがポートのタグを追加できれば、まだ存在しないので、それは素晴らしいことです.

4

1 に答える 1

0

/を/var/db/pkg直接使用して、パッケージ データベースを調べることができます。opendirreaddir

于 2013-06-24T07:17:07.910 に答える