J'ai un fichier pkg créé par Install Maker pour Mac. Je veux remplacer un fichier dans pkg. Mais je dois le faire sous le système Linux, car cela fait partie du processus de téléchargement. Lorsque l'utilisateur commence à télécharger le serveur de fichiers doit remplacer un fichier dans pkg. J'ai une solution pour décompresser pkg et remplacer un fichier mais je ne sais pas comment emballer à nouveau vers pkg. http://emresaglam.com/blog/1035 http://ilostmynotes.blogspot.com/2012/06/mac-os-x-pkg-bom-files-package.html
99
Réponses:
Les packages ne sont que des archives .xar avec une extension différente et une hiérarchie de fichiers spécifiée. Malheureusement, une partie de cette hiérarchie de fichiers est une archive cpio.gz des installables réels, et c'est généralement ce que vous souhaitez modifier. Et il y a aussi un fichier Bom qui comprend des informations sur les fichiers à l'intérieur de cette archive cpio, et un fichier PackageInfo qui comprend des informations récapitulatives.
Si vous avez vraiment juste besoin de modifier l'un des fichiers d'informations, c'est simple:
Mais si vous devez éditer les fichiers installables:
Je crois que vous pouvez obtenir mkbom (et lsbom) pour la plupart des distributions Linux. (Si vous pouvez obtenir la même chose, cela rend les choses encore plus faciles, mais je ne suis pas sûr que ce soit presque aussi disponible partout.)
la source
cat Payload | gunzip -dc |cpio -i
vous pouvez simplement utilisertar xzvf Payload
cat Payload | gunzip -dc |cpio -i
:gunzip: unknown compression format
;0 blocks
. J'essaie d'ouvrir àBSD.pkg
partir du package d'installation OS X Yosemite.7z x <file>.pkg
et ça a marché.Voici un script bash inspiré de la réponse d' abarnert qui décompressera un paquet nommé
MyPackage.pkg
dans un sous-dossier nomméMyPackage_pkg
puis ouvrira le dossier dans le Finder.Usage:
la source
En plus de ce que @abarnert a dit, j'ai dû découvrir aujourd'hui que l'
cpio
utilitaire par défaut sur Mountain Lion utilise un format d'archive différent par défaut ( je ne sais pas lequel), même avec la page de manuel indiquant qu'il utiliserait l'ancien format cpio / odc. Donc, si quelqu'un tombe sur lecpio read error: bad file format
message en essayant d'installer ses paquets manipulés, assurez-vous d'inclure le format dans l'étape de reconditionnement:la source
@shrx J'ai réussi à décompresser le BSD.pkg (qui fait partie du programme d'installation de Yosemite) en utilisant la commande "pbzx".
pbzx <pkg> | cpio -idmu
La commande "pbzx" peut être téléchargée à partir du lien suivant:
la source
Vous voudrez peut-être regarder dans ma fourchette d'
pbzx
ici: https://github.com/NiklasRosenstein/pbzxIl vous permet de diffuser des fichiers pbzx qui ne sont pas enveloppés dans une archive XAR. J'ai fait l'expérience de cela avec des images de disque récentes des outils de ligne de commande XCode (par exemple 10.12 XCode 8).
la source