Je sais qu'il existe des outils d'interface graphique payants qui vous permettent de le faire, mais ceux-ci ne m'intéressent pas.
Actuellement, je fais ceci:
gzcat Contents/Archive.pax.gz | pax -r
Cependant, certains fichiers pkg sont maintenant des archives xar et j'ai besoin de pkgutil pour les extraire. Et il y a probablement d'autres permutations de pkg spec dont je ne suis pas au courant.
En bout de ligne, je peux toujours trouver un moyen d'extraire manuellement les éléments du paquet, mais j'aimerais une solution unique qui le ferait automatiquement sans se soucier de la mise en œuvre spécifique de pkg, par exemple:
unpkg CrappyPackage.pkg
Est-ce qu'une telle chose existe?
Le moyen le plus sûr est peut-être d'utiliser le programme d'installation du système lui-même, mais cela semble toujours nécessiter un lecteur système complet comme cible. Serait vraiment utile si vous pouviez faire quelque chose comme:
installer -pkg CrappyPackage.pkg -target SomeEmptySandbox.dmg
Je sais qu'il existe cette question: Comment puis-je ouvrir un fichier .pkg manuellement? Cependant, toutes les solutions proposées sont assez manuelles et je les fais tout de même.
pkgutil --expand thepackage.pkg destination
xar -xf package.pkg
Réponses:
Il est assez facile de créer un script shell qui vérifie quelques conditions et prend ensuite les mesures appropriées.
J'ai mis le mien à http://dl.dropbox.com/u/18414/bin/unpkg.sh mais je copierai la version initiale ci-dessous:
zsh est maintenant inclus dans Mac OS X depuis plusieurs versions. Je préfère cela à / bin / sh parce que… eh bien, n'entrons pas dans une guerre «ma coquille vaut mieux que votre coquille», car ma coquille gagnerait :-)
Quoi qu'il en soit, zsh rend les choses un peu plus faciles et plus agréables, et c'est inclus, il n'y a donc aucune raison de ne pas l'utiliser, IMO. Surtout pour un script spécifique à OS X comme celui-ci.
Cela a été testé sur 10.7.
la source