web-dev-qa-db-ja.com

Apple pkg Packageファイルをアンインストールするにはどうすればよいですか?

反対 に対する意見にもかかわらず、すべてのパッケージが1つのディレクトリのみにクリーンにインストールされるわけではありません。できれば元のパッケージを使用して(またはインストールされたパッケージに関する情報のリポジトリから)、pkgファイルのインストールプロセスを元に戻す方法はありますか?

具体的には、Intel MacBookにPowerPC MySQL 5.4.1パッケージをインストールしましたが、それを完全に元に戻したいのですが、5.1 x86インストールをリカバリすると、まだそこにありますが、現在は正しく機能していません。

52
dlamblin

https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X は、ネイティブpkgutilを使用して.pkgをアンインストールする方法を説明しています。

変更された抜粋

$ pkgutil --pkgs # list all installed packages
$ pkgutil --files the-package-name.pkg # list installed files

ファイルのリストを視覚的に検査した後、次のようなことができます。

$ pkgutil --pkg-info the-package-name.pkg # check the location
$ cd / # assuming the package is rooted at /...
$ pkgutil --only-files --files the-package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 Sudo rm -f
$ pkgutil --only-dirs --files the-package-name.pkg | tail -r | tr '\n' '\0' | xargs -n 1 -0 Sudo rmdir

言うまでもなく、root権限でファイルを削除するときは、常に細心の注意を払う必要があります。特に、一部のパッケージは共有システムコンポーネントを更新する可能性があるため、それらをアンインストールすると、必要なコンポーネントが削除されてシステムが実際に破損する可能性があることに注意してください。

小さなパッケージの場合、パッケージファイルのリストを目視で確認した後、手動でファイルを削除する方が安全です。

どうやら、--unlinkオプションはpkgutilで使用できますが、Lionの時点では、manページには記載されていません。危険すぎると判断されたため削除された可能性があります。

ファイルをアンインストールしたら、次の方法で領収書を削除できます。

$ Sudo pkgutil --forget the-package-name.pkg
86
brablc

システムに組み込まれているため、アンインストーラーを使用してファイルをアンインストールするオプションはないため、自分でアンインストーラーを作成するか、ファイルを手動で削除できます。

インストールされているファイルを判別する最良の方法は、可能であれば元の.pkgを取得することです。これが不可能な場合は、代わりに/Library/Receiptsにある領収書を使用することもできます。最大の問題は、複数の.mpkgファイルを含む.pkgを処理しているときに、そのフォルダー内のすべての.pkgファイルを見つける必要があるためです(ソートすると、それほど難しくありません)日付別)。

.pkgファイル(領収書または完全インストールファイル)を取得したら、ユーティリティを使用してアンインストーラーを作成するか、ファイルを見つけて手動で削除できます。

アンインストーラー

Absolute Software InstallEase は、既存の.pkgファイルからアンインストーラーを作成できる無料のプログラムです。アンインストーラー.pkgファイルを作成します(注:実際に.pkgファイルを作成するには、Appleの開発ツールをインストールする必要があります)

手動で

Pacifist などのプログラム、または Suspicious Package のようなQuickLookプラグインを使用すると、インストールされているファイルとその場所を確認できます。そのリストを使用して、それらのフォルダーに手動で移動し、ファイルを削除できます。私はInstallEaseを発見する前にこの方法を個人的に数え切れないほど使用しましたが、多くの場所にインストールが広がっていない場合は、これは多くの場合さらに高速です。

20
Chealion

uninstallPKGで.pkgパッケージをアンインストールすることもできます( http://www.corecode.at/uninstallpkg/

[完全な開示:はい、私は著者です]

10
user1259710

私は先月同じホイールを作りました、それはPackage Uninstallerと呼ばれ、オープンソースでgithubでホストされています: https://github.com/hewigovens/PackageUninstaller

[こちら]からダウンロードして試してみてください。( http://sourceforge.net/projects/packageuninstaller/files/latest/download

4
hewigOvens

Shell srciptを作成しました

あなたはそれを試すことができます

https://github.com/iamrToday/pkg-remove

これは.gifデモを示しています。ソースコードを見ることができます。 brablc's コマンドラインをラップするだけです。これを実行して情報を検索したり、apkを削除したりできます。インタラクティブです。

1
rToday Lin

このサイトからの提案を試すことができます: http://www.entropy.ch/software/macosx/mysql/remove-old-mysql.html 。また、アドビサポートサイトにこれに関する記事があります。ここにリンクがあります: http://support.Adobe.com/devsup/devsup.nsf/docs/52355.htm

また、通常pkgファイルをdmgに通常持つアプリアンインストールに使用される別のpkgもあります。これが本当かどうかはわかりませんが、元のdmgファイルを保持するようにお知らせします。

1
alex