77 votes

Comment ouvrir manuellement un fichier .pkg ?

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 binaire dans /Applications.

J'aime avoir mes applications dans ~/Applications, et je n'aime pas donner des autorisations d'administration à tout ce qui ne vient pas du vaisseau-mère.

Existe-t-il un moyen d'ouvrir manuellement le fichier .pkg et d'extraire l'application ? Il y a PackageMaker dans les outils du développeur, mais cela ne semble pas fonctionner (il a produit une sortie qui me fait penser qu'il n'y a pas vraiment de scripts ou d'autres éléments dans l'installateur, juste l'application).

2 votes

Essayez unpkg .

86voto

Mathew Hall Points 1066

Si tu fais un clic droit dessus, et que tu cliques sur Contenu de l'emballage du spectacle vous obtiendrez quelques fichiers dans un dossier Contents. (Remarque : si vous ne voyez pas Contenu de l'emballage du spectacle vous devrez ouvrir Terminal.app et exécuter pkgutil --expand mystubbornpackage.pkg path/to/expand )

L'un d'eux est un fichier de nomenclature (bill of materials) 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 installera et à quel endroit ; pour lire ce fichier, utilisez la commande lsbom commandement.

La plupart des paquets (j'utilise ici Office 2008) ont également un fichier Archive.pax.gz, qui contient tout ce que l'installateur déplacera dans les différents dossiers comme indiqué dans le fichier BOM. La plupart des applications semblent avoir le fichier .app dans cette archive, bien que le fait de le faire glisser vers /Applications puisse le laisser sans les cadres dont il a besoin pour fonctionner ; vous devrez donc déterminer de quels autres fichiers il a besoin et où il en a besoin pour le faire fonctionner.

De plus, tous les paquets peuvent enregistrer des messages, si vous tapez sur Cmd-L (ou choisissez l'option Journal de l'installateur de l'option Fenêtre vous pouvez les visualiser au fur et à mesure qu'ils sont générés. Cela peut vous donner une idée des choses supplémentaires qu'il installe, au moins c'est une information supplémentaire si vous n'avez pas confiance dans le paquet.

5 votes

Je n'obtiens pas "Show Package Contents" dans le menu du clic droit.

4 votes

Si vous n'obtenez pas l'option "Show Package Contents", c'est que le fichier pkg a été créé en tant que fichier plat. Apple a introduit les pkgs en format plat il y a quelques années.

0 votes

@username : Alors comment je les ouvre ?

36voto

Robin Robinson Points 1031

En plus de ce que Matthew Hall a dit, vous pouvez également appuyer sur Cmd-I dans l'application Installer pour voir quels fichiers l'installateur va installer et où.

3 votes

+1. Grâce à cela, j'ai pu vérifier rapidement qu'il n'y avait que le binaire de l'application, sans aucun autre élément du système.

8voto

JohnRock Points 1268

pkgutil --expand a échoué pour moi avec l'erreur suivante :

Error encountered while creating .. Error 17: File exists

Mais j'ai réussi à extraire les fichiers avec xar à la place :

xar -xvf foo.pkg

6 votes

Cela fonctionne pour moi. mais apparemment, si vous donnez à pkgutil un répertoire inexistant comme destination, l'erreur 17 disparaît.

0 votes

Mais où l'extrait-il ?

0 votes

Dir actuel. @CodyBugstein

7voto

ghoppe Points 7682

Si vous n'avez pas suffisamment confiance dans le programme d'installation pour donner des droits d'administration pour l'installation, alors pourquoi faites-vous confiance au binaire dans /Applications ?

Pacifista vous permettra de regarder dans les fichiers du paquet. Cela ne vous permet pas nécessairement de "sortir le binaire".

1 votes

Je ne fais pas confiance au binaire, non plus. Je ne veux jamais lui donner de droits d'administration (dont il ne devrait pas avoir besoin de toute façon).

3 votes

Tant que vous n'exécutez pas l'application à partir d'un utilisateur ayant des privilèges d'administrateur, votre confiance sera maintenue. N'oubliez pas que même une application de niveau utilisateur peut faire des demandes à partir de processus de niveau administrateur, ce qui représente beaucoup de travail pour exécuter des applications auxquelles vous ne faites pas réellement confiance.

0 votes

@ghoppe, C'est parce que les valeurs par défaut ne sont parfois pas optimisées pour les utilisateurs mais pour les créateurs d'applications. Par exemple, au lieu d'installer toutes les cochonneries qui viennent par défaut, je peux choisir de ne prendre que les fichiers qui sont essentiels. Par exemple, lors du téléchargement de Mysql / Java / etc.

4voto

karmatic Points 819

Vous pouvez également essayer,

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

OU

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

0 votes

Cela n'a pas fonctionné, malheureusement. Il insiste toujours pour "Installer au chemin de base /" et demande ensuite le mot de passe de l'administrateur.

1 votes

Il est possible d'installer sur une image disque créée avec quelque chose comme hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg puis copiez les fichiers à l'emplacement de votre choix. Vous avez toujours besoin du sudo pour exécuter l'installateur malheureusement.

0 votes

Je reçois une erreur installer: Error - This version of OS X 10.11 cannot be installed on this computer.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X