インストーラーを使うファイルをダウンロードした時、一体何がインストールされるんだろうと気になったことはありませんか?私はテストのために多くのソフトウェアをダウンロードしますが、稀にインストーラーを実行するダウンロードに遭遇すると、かなり慎重になります。一体何がマシンにインストールされるのか、どこに保存されるのか、と。インストール前にこうした情報を知っておくと、後で恐ろしいと感じて気が変わってしまうような事態を避けられます。
例として、私がずっと愛用している画像・動画キャプチャユーティリティ、Snapz Pro X を考えてみましょう。Snapz Pro は、Mac のオーディオを動画キャプチャでキャプチャできるオーディオシステム機能拡張を利用しています。インストールされる機能拡張を正確に確認するには、ターミナルでちょっとしたトリックを使って(今日は Geeky Friday ですからね)、インストーラーを実行する前に中身を覗いてみましょう。以下の手順はインストーラーを使用するどのプログラムでも使えるはずです。Snapz Pro を例として選んだのは、私のハードドライブに既にインストーラーパッケージがあったからです。
インストーラーを使用するプログラムをダウンロードしたら、アーカイブを展開してディスクイメージをマウントします。ディスクイメージ上に何らかの.pkgファイル(Snapz Proの場合、Snapz Pro X 2.0.3 Installer.pkg)が表示されます。このファイルをControlキーを押しながらクリックし、ポップアップメニューから「パッケージの内容を表示」を選択します。Finderが新しいウィンドウを開き、その中に「Contents」フォルダなどが表示されるはずですが、しばらくそのままにしておいてください。
ターミナルでContentsフォルダを開きます。ターミナルを使い慣れている方は、ご自身で入力していただくことになります。それ以外の方は、ターミナル(/アプリケーション -> ユーティリティ)を開き、 と入力して cdスペースバーを押してください。次に、FinderからContentsフォルダをターミナルウィンドウにドラッグ&ドロップします。マウスボタンを離すと、次のような画面が表示されます。
cd /Volumes/Snapz Pro X 2.0.3/Snapz Pro X 2.0.3 Installer.pkg/Contents/
リターンキーを押すと、 cd Contentsフォルダに移動します。そこで、以下のコマンドを入力してリターンキーを押すと、ファイルが表示されます ls 。
$ ls Archive.bom Archive.pax.gz Info.plist PkgInfo リソース
インストーラーのファイルを確認する方法は2つあります。1つ目は非常に簡単で、次のコマンドを入力するだけです。
lsbom アーカイブ.bom | 詳細
これにより、インストールされるすべてのファイルと、末尾の数値データが表示されます。ただし、末尾の数値によって出力が読みにくくなると感じています。そのため、インストールされるファイルが格納されているアーカイブ自体の内容を確認する、別の方法を使用することをお勧めします。これらのファイルは Archive.pax.gz ファイルに格納されています。中身を確認するには、次のコマンドを使用します。
gzip -cd archive.pax.gz | pax | その他
Snaz Pro のアーカイブでこのコマンドを実行すると、次の出力が表示されます。

このリストは画面ごとに続き、インストーラーによって作成されるファイルまたはフォルダごとに1行ずつ表示されます。最初のセクションはすべてアプリケーションバンドルに関するものですが、一番下にはSnapz Pro拡張機能がインストールされる場所が表示されます。

インストーラーのファイルをテキスト ファイルにダンプし、テキスト エディターを使用して出力を表示する場合は、次のコマンドを使用します。
gzip -cd archive.pax.gz | pax > ~/Desktop/installfiles.txt
installfiles.txt これにより、デスクトップに という名前のファイルが作成され 、TextEdit、BBEdit などで開くことができます。
仕組み
これでコマンドの使い方が分かりましたね。もう少し詳しく知りたい方のために、動作の仕組みを説明します。コマンドの最初の部分である は 、 ファイルやフォルダを圧縮または展開できるプログラム gzip -cd archive.pax.gzを実行します 。 オプションは 、出力を標準出力に送信し、元のファイルはそのまま残すように指示します(これが オプションです)。 フラグは、指定されたファイルを解凍することを示します 。つまり、最初のコマンドはファイルを展開しますが、画面にのみ表示し、アーカイブ自体はそのまま残します。 gzip-cdgzipcdgzip
コマンドの次の部分である は 、 (最初のパイプ記号 ( ) を介して) | paxの出力を に送信します 。 とは何でしょうか ? このプログラムはファイルアーカイブの読み書きを行います。オプションなしで実行すると、標準入力(ご想像のとおり画面)からアーカイブファイルを受け取り、そのアーカイブの目次を画面に書き出します。 gzip|paxpax
コマンドの最後の部分 は | more、ページングを有効にするだけなので、一度に 1 画面分のリストからリストを表示できます。
その他の圧縮方法
他の形式の圧縮フォルダも覗くことができます。、、アーカイブのバリエーションを以下に .tgz示し .tar.gzます .tar 。
$ tar tvzf ファイル.tgz $ tar tvzf ファイル.tar.gz $ tar tvf ファイル.tar
私は現在、インストーラーを使用するプログラムをインストールするときはいつも、このコマンドを習慣的に使用しています。何かが行われる前に、どこに何が実行されるかがわかるという考え方が気に入っています。