Ich habe bemerkt, dass viele Downloads ein dmg (Disk-Image) sind, das eine einzelne pkg-Datei (Installationspaket) enthält. Normalerweise scheint das pkg bereits komprimiert zu sein, da das dmg die Dateigröße nicht wesentlich verringert, wenn überhaupt.
Beispiel :
- MonoFramework-MDK-2.10.6_1.macos10.xamarin.x86.dmg ist 119.242.061 Byte (119,2 MB auf der Festplatte)
- MonoFramework-MDK-2.10.6_1.macos10.xamarin.x86.pkg ist 119.979.719 Byte (120 MB auf der Festplatte)
Einsparungen von 737.658 Byte oder 0,6% der ursprünglichen Dateigröße.
Gibt es einen Grund, das Paket nicht einfach zu verteilen? Ist die Einsparung von 0,6% Kompression so wichtig? Oder ist es einfach so, wie es auf dem Mac schon immer gemacht wurde?
(Ja, mir ist klar, dass 737.658 Bytes die Millionen von Downloads, die dmg erhält, summieren, aber es scheint nur immer ärgerlich, diese zusätzlichen Schritte zu haben, um ein dmg zu mounten, das Installationsprogramm auszuführen und dann das dmg zu mounten. Vielleicht a Die bessere Frage ist: "Warum erkennt Mac OS X ein dmg mit einem einzelnen Paket nicht als nur ein Paket und installiert es einfach, ohne dass das gesamte Ein- und Aushängen erforderlich ist?"
quelle
file
Listet sie als "xar archive - version 1" auf. Dann muss sichergestellt werden, dass der Webserver so konfiguriert ist, dass .pkg-Dateien nicht angezeigt, sondern heruntergeladen werden. (Ich gehe davon aus, dass einige Entwickler aus dem gleichen Grund .zip anstelle von .dmg verwenden - selbst die am schlechtesten konfigurierten Webserver und Browser können .zip-Dateien herunterladen.)Antworten:
Technisch gesehen ist eine .pkg- Datei keine Datei , sondern ein Ordner . Vielleicht ist es für den Download also unerlässlich, sie in einer einzigen Datei zu sammeln.
quelle
.pkg
Dateien sind heutzutage mehr als ein einfacher Ordner: en.wikipedia.org/wiki/Installer_(OS_X)#Installer_packageDaten auf dem DMG-Image können mit dem Festplatten-Dienstprogramm auf Integrität überprüft werden. Sie können festlegen, dass der Benutzer der Lizenz zustimmen muss, bevor er dmg mounten kann. Es kann für Änderungen gesperrt werden. Sie können auf einfache Weise versteckte Dateien und Ordner in DMG hinzufügen. Sie können ein Hintergrundbild erstellen. Sie können sicherstellen, dass während der Übertragung keine Daten durch nicht metadatensensitive Dateisysteme wie FAT entfernt werden.
Viele Gründe eigentlich .
quelle
Ein möglicher Grund könnte sein, dass Safari DMG-Dateien standardmäßig automatisch bereitstellt und ein Finder-Fenster mit dem Inhalt angezeigt wird. Der DMG-Ordner könnte wiederum beispielsweise mit einem Hintergrundbild gestaltet werden. Ich gehe davon aus, dass dies als benutzerfreundlicher angesehen werden könnte, als in Ihrem Downloads-Ordner nach einem Installationsprogramm suchen zu müssen, aber ich stimme zu, dass es ziemlich umstritten ist.
Ein weiterer Grund wäre die Möglichkeit, auch andere unterstützende Dateien zusammenzufassen, beispielsweise Dokumentationsdateien oder sogar sekundäre Installationsprogramme.
Zunächst ist dies jedoch keine übliche Distribution. Die meisten Apps werden als eigenständige .app-Ordner in einer DMG-Datei verteilt (wenn nicht jetzt über den App Store). Ihr Beispiel scheint für mich eher eine Ausnahme zu sein, obwohl es bei bestimmten Vertriebskanälen vielleicht häufiger vorkommt? Persönlich würde ich nicht weiter darauf eingehen.
quelle
Ein weiterer Grund ist, dass Sie keine .pkg-Dateien direkt von Netzwerk-Volumes ausführen können, aber Sie können eine .dmg von einem Netzwerk-Volume ausführen und dann das Paket starten.
quelle