Warum installieren wir Software über DMG-Dateien?

28

Wenn ich Software installieren möchte, .dmglade ich normalerweise eine (Disk iMaGe) -Datei herunter . Wenn ich es öffnen, diese .dmgDatei aussieht wie das, was ich eine „virtuelle Festplatte“ nennen würde (daher der Name nehme ich an) und ist in aufgelistet Finderunter devices. Es wird auch in aufgeführt Disk Utilityunter Disk Imagesund es scheint , wie kann es wie jede andere Festplatte gelöscht oder deaktiviert werden.

  • Was ist die Logik, für die Software mit einer solchen "virtuellen Festplatte" installiert werden muss?
  • Warum kommt es nicht als einfache Binärdatei oder ich weiß nicht was?
Remi.b
quelle
12
Installieren der Software kann immer dazu führen , d ein m ein g e.
Dessert
1
Eine einfache Binärdatei wäre ein Installationsprogramm. Mit DMG kopieren Sie einfach die Anwendung, ohne ein Installationsprogramm auszuführen.
Thorbjørn Ravn Andersen
10
Die meisten Mac-Apps sehen aus wie einzelne Dateien, sind jedoch in Wirklichkeit "Anwendungspakete", also Ordner mit vielen Dateien. Finder zeigt es als einzelne Entität an, aber Sie können mit der rechten Maustaste darauf klicken und "Inhalte öffnen" auswählen, um die darin enthaltenen Dateien zu überprüfen. "Simple Binary" wird also nicht funktionieren.
el.pescado
4
Geschichte: blog.barthe.ph/2011/04/05/dmg_history
Wayfaring Stranger
Der letzte Absatz sollte eine separate Frage sein, da er zu separaten Antworten führt
user151019 13.10.17

Antworten:

34

DMGs haben einige Schlüsselmerkmale, die sie einfachen alten Reißverschlüssen überlegen machen

  • Sie sind ein vollständiges Dateisystem (dh, sie können Dateiberechtigungen speichern, haben benutzerdefinierte Ordnerhintergründe usw.)
  • Sie unterstützen "obligatorische" EULAs vor dem Mounten, was für juristische Zwecke hilfreich ist
  • Bieten Sie eine zuverlässigere Ausführungsumgebung. Wenn Sie für die Installation absolute Pfadangaben machen müssen (welche Sie nicht machen sollten), können Sie die DMG vorbereiten, als schreibgeschützt markieren und für die Installation verwenden

Wirklich das wichtigste Merkmal ist, dass sie das gesamte HFS + -Dateisystem unterstützen. Zip (normalerweise unterstützen Linux-Versionen manchmal Berechtigungen) ist dumm und unterstützt nur das Bündeln von Dateien und Ordnern und sonst nichts. Keine Metadaten, nur die Dateien.

Sirenen
quelle
14
Zusätzliche Punkte: Ab 10.12 können .dmg-Dateien aus Gründen der Integrität mit Code signiert werden (.zip-Dateien können signierten Code enthalten , aber nicht selbst auf eine Weise signiert werden, die das Herunterladen übersteht ). Außerdem funktioniert die Option "Simple Binary" überhaupt nicht, da die meisten MacOS-Programme als Pakete (Ordner mit komplexer (versteckter) interner Struktur) und nicht als reine Dateien geliefert werden.
Gordon Davisson
9
"Zip ist dumm und unterstützt nur ..." - Ich bin mit dieser Einschätzung nicht einverstanden. Nur weil etwas einfach ist, heißt das nicht, dass es dumm ist. Einfachheit ist eine Tugend, und selten sind (oft unsichtbare) Dateimetadaten von irgendeinem Wert in einem verteilten Installationsprogramm.
Dai
14
@Dai er meint dumm wie blöd; Das Programm weiß nicht, was es tut - nicht, dass es nutzlos ist.
Tim
3
Ich nehme an, ZIP ist kein allzu guter Vergleich. Warum nicht zB TAR wie komprimiert tar.gz? Berechtigungen werden gespeichert.
Ruslan
2
@Dai, "selten sind (oft unsichtbare) Dateimetadaten von irgendeinem Wert in einem verteilten Installationsprogramm" - wahr auf vielen anderen Plattformen, aber Apple hat eine lange Tradition darin, kritische Inhalte (dh Symbole!) In "Ressourcenforks" zu speichern ( in diesen Tagen xattrs).
Charles Duffy
3

Mac-Software kann als .appAnwendungspaket (im Wesentlichen ein Ordner, der alle Programmressourcen enthält) oder als .pkgInstallationsprogramm geliefert werden, bei dem es sich um ein Programm handelt, das Anwendungen ähnlich wie Windows installiert.

Es sind nur Befehlszeilentools als einfache Binärdateien verfügbar, die dann an eine beliebige Stelle im Benutzer kopiert werden, PATHz /usr/local/bin.

Diese können in einem OS X / macOS-Image ( .dmg) oder einem herkömmlichen Archivformat wie .zipoder gepackt werden .tar.


Was ist die Logik, für die Software mit einer solchen "virtuellen Festplatte" installiert werden muss?

Dies liegt weitgehend beim Entwickler. A .dmgist nur eine virtuelle Festplatte, kein Installationsprogramm. Bei der Auswahl von a .dmggeht es eher um die Verpackung als um die Installation.

Wenn es sich bei einer Anwendung um ein einfaches .appBundle handelt, ist sie in sich geschlossen und kann durch Doppelklicken ausgeführt werden. Es wird der Einfachheit halber häufig kopiert /Applications.

Neben der Verschlüsselung und den EULAs beim Öffnen besteht der Vorteil eines Archivtyps im .dmgBranding. .dmgs können benutzerdefinierte Symbole, benutzerdefinierte Hintergrundbilder und das Layout der Inhalte festgelegt werden. .dmgs sind in der Regel auch schreibgeschützt, damit der Inhalt genau so bleibt, wie es der Entwickler beabsichtigt hat.

Sie zwingen den Benutzer auch, auszuwählen, wo er eine Anwendung haben möchte. Wenn Sie ein Archiv entpacken, wird der Inhalt normalerweise an den Ort extrahiert, an dem sich das Archiv befand. Im Gegensatz dazu wird .dmgs im Dateisystem eingebunden und das .appBundle muss dann explizit kopiert werden.


Warum kommt es nicht als einfache Binärdatei oder ich weiß nicht was?

Eine Mac-Anwendung ist mehr als nur eine Binärdatei. Neben der Binärdatei (befindet sich unter <appname>.app/Contents/MacOS/) .appenthält eine Reihe von Ressourcen in <appname>.app/Contents/Resources/. Diese Ressourcen umfassen Symbole, Grafiken und Lokalisierungsdateien wie en.lproj.

Wes Toleman
quelle
2

Gibt es eine andere Verwendung für .dmg-Dateien als die Softwareinstallation?

Eine weitere nützliche Funktion von DMGs (da Sie nach anderen Verwendungszwecken gefragt haben) ist die Möglichkeit, einen verschlüsselten Speicherplatz zu erstellen und Dateien in diesem geschützten Bereich zu speichern. Nützlich, wenn Sie einige Dateien schützen möchten, aber nicht Ihre gesamte Hauptfestplatte verschlüsseln möchten.

Weitere Informationen zum Erstellen von verschlüsselten .dmg-Dateien finden Sie unter Festplatten-Dienstprogramm für macOS Sierra: Erstellen eines Festplatten-Images mit dem Festplatten-Dienstprogramm .

Ken
quelle
Die Verschlüsselung ist jedoch bereits möglich, ohne dass dies erforderlich ist .dmg. Verschlüsselt Unix nicht?
Pacerier
@ Pacerier - na klar - wie alles bei Linux / Unix gibt es mehr als eine Möglichkeit, etwas zu tun.
Ken