62 votes

Comment créer un fichier dmg Mac OS X (sur une plateforme autre que Mac)?

Est-il possible de créer un fichier .dmg (pour la distribution d'applications) à partir d'une plateforme autre que Mac? Et si oui, comment?

38voto

jstck Points 176

Oui, mkfs.hfsplus le fait.

 dd if=/dev/zero of=/tmp/foo.dmg bs=1M count=64
mkfs.hfsplus -v ThisIsFoo /tmp/foo.dmg
 

Cela crée un fichier dmg (dans ce cas 64M) qui peut être monté sur un mac. Il peut également être monté sur Linux, avec quelque chose comme

 mount -o loop /tmp/foo.dmg /mnt/foo
 

après quoi, il suffit de copier le contenu souhaité (dans / mnt / foo). Démontez-le, et le dmg peut être copié sur un mac et monté là-bas.

34voto

uckelman Points 7228

Un projet que je travaille, on crée des fichiers DMG sur Linux à l'aide de genisoimage:

mkdir -p dmgdir/progname.app/Contents/{MacOS,Resources}
...copy your PkgInfo, Info.plist to Contents...
...copy your .icns to Resources...
...copy your other things to where you expect them to go...
genisoimage -V progname -D -R -apple -no-pad -o progname.dmg dmgdir 

Si vous voulez être vraiment de fantaisie, vous pouvez voler l' .DS_Store le fichier à partir d'un DMG fait sur un Mac avec un nom de volume progname et app bundle nommé progname.app (c'est à dire, correspond à ce que vous souhaitez créer hors Mac) où vous avez mis un fond en .background/background.png et un lien symbolique vers /Applications dans le répertoire racine, et de mettre en dmgdir avec votre propre lien symbolique vers /Applications.

10voto

name Points 41
 git clone https://github.com/hamstergene/libdmg-hfsplus
cd libdmg-hfsplus && cmake . && make && cd dmg
./dmg --help
 

Makefile:

 dmg:
    genisoimage -D -V "$(PROJECT) $(VERSION)" -no-pad -r -apple -o project-$(VERSION)-uncompressed.dmg $(DARWIN_DIR)
    ./dmg dmg project-$(VERSION)-uncompressed.dmg project-$(VERSION).dmg
 

les opérations non compressées sont prêtes à l'emploi, la compression peut poser problème - l'origine / le maître génère au moins une erreur de «somme de contrôle» sur snow-léopard

8voto

Nik Reiman Points 16156

Il ne semble pas possible de créer des fichiers DMG avec certains outils tiers. Une rapide recherche sur google révèle au moins quelques outils commerciaux:

Pas sûr de tout OSS/freeware options, mais elle permet au moins d'semble possible si vous êtes si incliné.

Edit: j'ai aussi oublié MacDrive, qui est un autre excellent outil pour travailler avec des HFS+ systèmes de fichiers sous windows. Depuis un DMG est fondamentalement juste un système de fichier HFS+ instantané, il est probablement possible avec MacDrive pour créer DMG est ainsi.

2voto

Josh Points 19

Voir mkfs.hfsplus

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X