.pkgファイルを手動で開くにはどうすればよいですか?


60

一部のアプリケーションは.pkgファイルに入っており、管理者パスワードを要求します。たとえバイナリを/ Applicationsにコピーするだけであってもです。

〜/ Applicationsにアプリケーションを配置するのが好きです。また、母船以外のものには管理者権限を与えるのは好きではありません。

.pkgファイルを手動で開き、アプリケーションを取り出す方法はありますか?Developer ToolsにはPackageMakerがありますが、それはそうではないようです(インストーラーにはスクリプトや他の部分はなく、アプリケーションだけが実際にあると思わせる出力を生成しました)。


2
unpkgを試してください。
lhf

回答:


67

右クリックして[ パッケージの内容表示 ]をクリックすると、コンテンツフォルダーにいくつかのファイルが表示されます。(注:Show Package Contents表示されない場合、Terminal.appを開いて実行する必要がありますpkgutil --expand mystubbornpackage.pkg path/to/expand

1つは、アプリケーションのアンインストールに使用できる領収書に変換されるBOMファイル(部品表)です。このファイルには、パッケージがインストールするすべてのものとインストール先のマニフェストが含まれています。このファイルを読み取るには、lsbomコマンドを使用します。

ほとんどのパッケージ(ここではOffice 2008を使用しています)にはArchive.pax.gzファイルもあります。これには、インストーラーがBOMファイルの指示に従ってさまざまなフォルダーに移動するすべてのものが含まれています。ほとんどのアプリは、このアーカイブに.appを持っているようですが、それを/ Applicationsにドラッグすると、実行する必要のあるフレームワークがなくなります。そのため、必要な他のファイルと、それを機能させるために必要なファイルを把握する必要があります。

さらに、すべてのパッケージはメッセージをログに記録できます。Cmd-Lを押すと(または[ ウィンドウ ]メニューから[インストーラーログ ]オプションを選択すると、生成されたパッケージを表示できます。)少なくとも、パッケージを信頼していない場合は、さらに情報が必要です。


3
右クリックメニューに[パ​​ッケージの内容を表示]が表示されません。
ティロ

3
@Thilo「パッケージの内容を表示する」オプションが表示されない場合、pkgファイルはフラットファイルとして作成されています。Appleは数年前にフラットスタイルのpkgを導入しました
ユーザー名

@ユーザー名:では、それらをどのように開きますか?
ティロ

10
pkgutilそれを行います。を使用pkgutil --expand file.pkg path_to_expandして展開でき、ディレクトリ形式のパッケージに変換されます。
マシューホール

@username、「フラット」とはどういう意味ですか?
パセリエ

34

マシューホールが言ったことに加えて、インストーラーアプリでCmd-Iを押して、インストーラーがインストールするファイルと場所を確認することもできます。


3
+1。これにより、アプリケーションバイナリのみが存在し、他のシステム全体のものがないことをすばやく確認できました。
ティロ

7

インストーラーをインストールする管理者権限を与えるほど信頼できない場合、/ Applicationsのバイナリーを信頼する理由は何ですか?

Pacifistでは、パッケージファイルを確認できます。これは必ずしも「バイナリを引き出す」だけではありません。


1
バイナリも信用していません。管理アクセス許可を与えることは絶対にしたくない(とにかく必要ではない)。
ティロ

3
管理者権限を持つユーザーからアプリを実行しない限り、信頼が維持されます。ユーザーレベルのアプリでも管理者レベルのプロセスからリクエストを行うことができるので、実際には信頼していないアプリを実行するのは大変な作業であることを忘れないでください。
bmike

@ghoppe、これはデフォルトがユーザーではなくアプリ作成者向けに最適化されていることがあるためです。たとえば、デフォルトでインストールされるすべてのインストールジャンクをインストールする代わりに、重要なファイルのみを選択することができます。たとえば、
Mysql

4

または、試すことができます、

sudo installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

または

installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

残念ながらうまくいきませんでした。まだ「ベースパス/にインストール」を要求し、管理者パスワードを要求しました。
ティロ

1
のようなもので作成されたディスクイメージにインストールしhdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg、ファイルを希望の場所にコピーすることが可能です。残念ながらインストーラーを実行するにはまだsudoが必要です。
mjs

2
  1. パッケージを開くことに成功したら、前述のArchive.pax.gzファイルを探します。

  2. デスクトップに新しい空のフォルダを作成して、好きな名前を付けます。後で入力しやすくするために、通常は「xxxx」や「zzzz」などの名前を付けます。

  3. Optionキーを押しながらArchive.pax.gzファイルのコピーをデスクトップの新しいフォルダー「xxxx」にドラッグします。

    ファイルが読み取り専用メディア内にある場合は、Optionキーを使用せずに「xxxx」フォルダーにドラッグするだけでコピーを作成できます。

  4. Terminal.appを開き、コマンドラインで新しい「xxxx」ディレクトリに移動し、ディレクトリの内容を一覧表示して、Archive.pax.gzファイルがあることを確認します。

    cd ~/Desktop/xxxx
    ls -al
    
  5. これで、入力する2つの簡単なコマンドがあります。

    gunzip -v Archive.pax.gz
    

    Gzipは、「Archive.pax.gz」を「Archive.pax」に置き換えたことを通知します。今度は、ディレクトリの内容を再度リストして、これを確認します。

    pax -r -f Archive.pax
    

    (あなたは分離しなければならない-r-fのように、-rf動作しません)

  6. 最後に、を使用してディレクトリのコンテンツを再度リストしls -alます。Archive.paxファイルに加えて、おそらく1つ以上のディレクトリを含むディレクトリ階層が表示されます。

    そのディレクトリ階層のファイルは、「xxxx」ディレクトリがルートディレクトリ「/」であるかのように、OS Xインストーラがシステム上のファイルをインストールする場所を示します。

  7. 必要に応じて、それらのファイルを宛先に手動でコピーできます。


3
言い換えればcd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.paxそのレベルの詳細ですべてを記述する必要はありません。
Lri

6
Lri、私はその詳細を与えたので、どのレベルの専門知識を持つユーザーでもそれをフォローして成功することができます。暗号化されたバージョンでも同じ結果が得られます。ただし、コマンドラインに慣れていない可能性のある、これを将来読んでいる他のユーザーは絶望的に失われる可能性があります。
スターグッド

1

pkgutil --expand 私のために次のエラーで失敗していました:

Error encountered while creating .. Error 17: File exists

しかし、xar代わりにファイルを抽出することができました:

xar -xvf foo.pkg


1
これは私のために動作します。ただし、pkgutilに宛先として存在しないディレクトリを指定すると、17エラーがなくなります。
マイケル

1

パッケージファイルを検査するための最適なツールは、Suspicious Packageです。また、パッケージからファイルをコピーすることもできます。

アプリで必要なすべての情報を提供するだけでなく、Quick Lookプラグインもインストールするため、パッケージファイルを選択してスペースバーを押すだけで、最も重要な情報を含むウィンドウが開きます。


0

Unarchiverはこれを行うことができます。pkgutil --expandドラッグアンドドロップを使用するのと同じことを行います。とにかく、AppleのArchive Utility.appのより良い代替品です。


0

UnArchiverがトリックを行いました。

UnArchiverをインストールし、UnArchiverを開きます。開いている間-その厄介なものをダブルクリックしますMAMP_MAMP_3.5.pkg

手順に従ってMAMPをインストールします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.