Certaines applications se présentent sous la forme de fichiers .pkg et vous demandent votre mot de passe d’administrateur, même si elles ne font que copier le fichier binaire dans / Applications.
J'aime avoir mes applications dans ~ / Applications, et je n'aime pas donner des autorisations administratives à tout ce qui ne provient pas du vaisseau mère.
Est-il possible d’ouvrir manuellement le fichier .pkg et d’extraire l’application? Il y a PackageMaker dans les outils de développement, mais cela ne semble pas le faire (cela a produit une sortie qui me laisse penser qu'il n'y a vraiment aucun script ou autre élément dans le programme d'installation, uniquement l'application).
Réponses:
Si vous cliquez dessus avec le bouton droit, puis cliquez sur Afficher le contenu du paquet, vous obtiendrez quelques fichiers dans un dossier Contenu. (Remarque: si vous ne voyez pas Afficher le contenu du paquet, vous devrez ouvrir Terminal.app et le lancer
pkgutil --expand mystubbornpackage.pkg path/to/expand
)L'un est un fichier de nomenclature (BOM) qui se transforme en un reçu que vous pouvez utiliser pour désinstaller l'application. Ce fichier contient un manifeste de tout ce que le paquet va installer et où aller; pour lire ce fichier, utilisez la commande lsbom .
La plupart des packages (j'utilise Office 2008 ici) ont également un fichier Archive.pax.gz. Celui-ci contient tout ce que l'installateur va déplacer dans les différents dossiers comme indiqué dans le fichier BOM. La plupart des applications semblent avoir le .app dans cette archive, bien que le faire glisser vers / Les applications peuvent le laisser sans les frameworks dont il a besoin pour s'exécuter; vous devrez donc déterminer les autres fichiers dont il a besoin et où il en a besoin pour le faire fonctionner.
En outre, tous les packages peuvent consigner des messages si vous appuyez sur Cmd-L (ou choisissez l' option Journal de l' installateur dans le menu Fenêtre . au moins, c’est un peu plus d’informations si vous ne faites pas confiance au paquet.
la source
pkgutil
Fera cela. Vous pouvez le développer enpkgutil --expand file.pkg path_to_expand
le convertissant en un package de style de répertoire.En plus des propos de Matthew Hall, vous pouvez également appuyer sur Cmd-I dans l’application Installer pour voir quels fichiers l’installateur installera et où.
la source
Si vous ne faites pas suffisamment confiance au programme d'installation pour accorder des autorisations administratives, alors pourquoi faire confiance au fichier binaire dans / Applications?
Pacifist vous laissera regarder dans les fichiers de paquets. Cela ne vous laisse pas forcément "sortir le binaire".
la source
Sinon, vous pouvez essayer,
OU
la source
hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg
, puis de copier les fichiers aux emplacements souhaités. Vous avez toujours besoin du sudo pour exécuter le programme d'installation, malheureusement.Une fois que vous avez réussi à ouvrir le package, recherchez le fichier Archive.pax.gz mentionné précédemment.
Créez un nouveau dossier vide sur votre bureau en le nommant comme vous le souhaitez. Je les nomme habituellement "xxxx" ou "zzzz" etc. pour faciliter la frappe plus tard.
Faites glisser une copie du fichier Archive.pax.gz dans le nouveau dossier "xxxx" de votre bureau.
Si le fichier est à l'intérieur d'un support en lecture seule, vous pouvez simplement le faire glisser dans votre dossier "xxxx" sans la touche Option pour créer une copie.
Maintenant, ouvrez Terminal.app et sur la ligne de commande, accédez à votre nouveau répertoire "xxxx" et dressez la liste de son contenu pour confirmer que votre fichier Archive.pax.gz est présent:
Maintenant, il y a deux commandes simples à entrer:
Gzip vous dira qu'il a remplacé "Archive.pax.gz" par "Archive.pax") Répertoriez maintenant le contenu du répertoire pour le confirmer.
(Vous devez séparer
-r
et-f
, comme-rf
cela ne fonctionnera pas)Enfin, listez à nouveau le contenu du répertoire avec
ls -al
. En plus de votre fichier Archive.pax, vous verrez maintenant une hiérarchie de répertoires contenant probablement un ou plusieurs répertoires.Les fichiers de cette hiérarchie de répertoires vous indiqueront où le programme d'installation de OS X installerait des fichiers sur votre système, comme si votre répertoire "xxxx" était le répertoire racine "/".
Vous pouvez ensuite copier manuellement ces fichiers vers leurs destinations si vous le souhaitez.
la source
cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax
. Vous n'avez pas besoin de tout décrire à ce niveau de détail.pkgutil --expand
échouait pour moi avec l'erreur suivante:Error encountered while creating .. Error 17: File exists
Mais j'ai réussi à extraire les fichiers avec à la
xar
place:xar -xvf foo.pkg
la source
Le meilleur outil pour inspecter les fichiers de package est le package suspect . Il vous permet également de copier des fichiers hors du package.
Non seulement il fournira toutes les informations dont vous avez besoin dans l'application, mais il installe également un plug-in Quick Look. Il suffit donc de sélectionner le fichier du paquet et de frapper la barre d'espace pour ouvrir une fenêtre contenant les informations les plus essentielles.
la source
Le Unarchiver peut le faire; cela fera la même chose que,
pkgutil --expand
mais en utilisant le glisser-déposer. Quoi qu'il en soit, c'est un meilleur substitut à Archive Utility.app d'Apple.la source
UnArchiver a fait le tour.
Installez UnArchiver, ouvrez UnArchiver; pendant qu'il est ouvert - double-cliquez sur cet embêtant
MAMP_MAMP_3.5.pkg
Suivez les étapes pour installer MAMP.
la source