2016-05-30 10 views
0

ポートがFreeBSDにすでにインストールされているかどうかをどのように確認できますか?ポートがFreeBSDにインストールされていることを確認してください

これは、プロビジョニングのためのシェルスクリプトで使用されるべきです。つまりポートが既にインストールされている場合は、インストールをスキップします。それ以外の場合はmakeコマンドを呼び出します。

答えて

2

「pkg」を使用できます。良いの参照です:https://wiki.freebsd.org/PkgPrimer

あなたのポートがインストールされている場合、それはになります。それ以外の場合は

# pkg info apache-jmeter 
apache-jmeter-3.0.r2 
Name   : apache-jmeter 
Version  : 3.0.r2 
Installed on : Thu May 5 18:58:45 2016 MSK 
Origin   : www/jmeter 
Architecture : freebsd:10:x86:64 
... 

# pkg info jmeter 
pkg: No package(s) matching jmeter 
+1

乾杯マイケル。誰かを入れてみると便利です.. 'pkg info'は、ポートが見つかったときや見つからなかったときに正しい終了コードを与えます。つまり、返された文字列は、それがインストールされているかどうかを調べるために解析する必要はなく、単純にブール値として書くことができます: 'if! pkg info mysql56-server;ここに#mysqlロジックをインストールしてください... fi' – willsquire

+0

FreeBSD 9や他の* BSDの "packages"と "ports"の違いを覚えておいてください。ローカルシステムには、ソースからプログラムをビルドし、パッケージとしてバンドルし、システムにインストールする一連のmakeスクリプトを使用してポートをインストールします。ポート経由でインストールしたソフトウェアでは、 "pkg delete"/"pkg remove"を使用しないでください。ポートツリーから "deinstall"を実行しないでください。 "pkg install"を実行すると、プリコンパイルされたパッケージがシステムにダウンロードされ、インストールされます。 「pkg info 」を実行すると、ポートからインストールされているかどうかが通知されません。 – Bytor

関連する問題