web-dev-qa-db-ja.com

Mac OS X特定のパッケージがインストールされていることを確認する方法

BASHスクリプトでは、gcc, g++, cpp, make, libpng devel, zlib devel, git, Java(develファイルを含む)、antおよびpkg-configはMac OS Xで利用できます。利用できない場合は、インストールするようユーザーに要求する必要があります。

Linuxにはパッケージ管理ツールがあるため、これは簡単な作業ですが、Mac OS Xシェルでこれを行う方法はわかりません。例えば。 openSUSEではrpm -qおよびzypper in、od Debianベースのディストリビューションdpkg-queryおよびapt-get install。しかし、Macでそれを行う方法は?

7
Tilia

Appleのパッケージ管理システムはしばしば批判の対象となります。ユーティリティpkgutilを使用して、パッケージの領収書をリストおよび照会できます。

Appleのインストーラーでインストールされたすべてのパッケージをリストする

     pkgutil --pkgs

パッケージIDの正規表現

    pkgutil --pkgs=.\+Xcode.\+

パッケージID内のすべてのファイルを一覧表示する

    pkgutil --only-files --files com.Apple.pkg.update.devtools.3.2.6.XcodeUpdate

次に、lsbomを使用して、/ var/db/receiptsのbomファイルを読み取ることができます

ユーザーは、MacPorts、fink、Homebrewなどの他のパッケージ管理システムもインストールします。または、任意の接頭辞で独自にコンパイルします。 pkgutilは、これらの方法でインストールされたパッケージをリストしません。

ターゲットオペレーティングシステムがOS X10.9またはOS X 10.10の場合

    gcc --version

コマンドがgccバージョンを出力するか、XCodeコマンドラインツールをインストールするように求められます。 gcc, g++, cpp, make, and gitは他のツールとともにインストールされます。 JavaパッケージはOracleから提供されています。テストはJava --versionただし、ヘッダーファイルを検索するには、Appleのフレームワーク、プラグイン、およびバンドルに慣れる必要があります。 pkgutilは、このプロセスに適した候補です。

あなたが言及した他のパッケージはおそらくシェルスクリプトでコンパイルされるか、コンパイルされてAppleインストーラーパッケージに入れられ、シェルスクリプトを介してインストールされます。簡単な方法はありません。

7
fd0

最初に頭に浮かぶのはsystem_profilerです。

system_profiler SPSoftwareDataType

上記のコマンドの出力はyum infoのようになります。このユーティリティでスローするオプションは他にもたくさんあります。 man system_profilerが正しい方向に進みます。この ブログエントリ は、もう少し情報を提供します。

1
h3rrmiller

このパッケージに検出可能なバイナリがある場合、次のことができます-

package_name=<packge-name>
t=`which $package_name`
[ -z "$t" ] && echo "the $package_name isn't installed!"
1
Gilad Sharaby