Perché così tanti download di Mac un .dmg contiene solo un singolo .pkg?


22

Ho notato che molti download sono un dmg (immagine del disco) che contiene un singolo file pkg (pacchetto di installazione). Di solito il pkg sembra essere già compresso poiché il dmg non riduce le dimensioni del file se non del tutto.

Esempio :

Un risparmio di 737.658 byte, pari allo 0,6% della dimensione del file originale.

C'è un motivo per non distribuire semplicemente il pkg? Il risparmio di compressione dello 0,6% è così importante? O è solo il modo in cui le cose sono sempre state fatte sul Mac?

(Sì, mi rendo conto che 737.658 byte volte tutti i milioni di download che ottiene dmg si sommano, ma sembra sempre fastidioso avere quei passaggi extra lì dentro per montare un dmg, eseguire il programma di installazione e quindi smontare il dmg. Forse un la domanda migliore è "perché Mac OS X non riconosce un dmg con un solo pkg al suo interno come un solo pkg e lo installa semplicemente senza richiedere tutto quel montaggio e smontaggio?")


In realtà i pacchetti moderni sono file flat, non cartelle. Quindi non è più necessario metterli in un dmg solo per fornire un file flat.
mlaster

@mlaster Questo non sembra essere vero. Hai un esempio?
Gerry,

1
radiosilenceapp.com/downloads/Private%20Eye.pkg è un esempio, così come JavaForMacOSX10.7.pkg (sebbene Apple lo abbia ancora come .dmg quando è pronto per il download). Ne ho molti altri nel mio archivio di download, ma sicuramente non è ancora universale. fileli elenca come "xar archive - version 1" Ma poi c'è il problema di assicurarsi che il server web sia configurato per forzare il download dei file .pkg piuttosto che visualizzarli. (Mi aspetto che alcuni sviluppatori utilizzino .zip invece di .dmg per lo stesso motivo - anche i peggiori web server e browser configurati sanno scaricare file .zip).
TJ Luoma,

1
Tuttavia, anche una volta che abbiamo ottenuto file flat, molti sviluppatori inseriscono i file .pkg all'interno di uno .zip perché possono contare sui server per avere il loro tipo MIME impostato correttamente per i file .zip ma non necessariamente per .pkg (o .dmg per quella materia ).
TJ Luoma,

Risposte:


24

Tecnicamente, un .pkg non è un file , ma una cartella . Quindi forse raccoglierlo in un singolo file è essenziale per il download.


1
Non me ne ero nemmeno reso conto, ma hai colpito l'unghia sulla testa.
Gerry,

Non lo sapevo neanche su un .pkg. Sapendo che tutto ha un senso. Grazie!
Jim McKeeth,

2
Comprimendolo in un dmg significa che tutti gli attributi di file estesi di OS X e / o i fork di risorse vengono conservati e puoi servirli da un server web non OS X. È anche il motivo per cui il formato del pacchetto è stato aggiornato per includere file flat nelle recenti versioni di OS X.
Joe Block,

6
Questa risposta non è più esattamente vera, i .pkgfile sono oggi più di una semplice cartella: en.wikipedia.org/wiki/Installer_(OS_X)#Installer_package
t0r0X

1
@wisbucky: deve essere più recente del 2011, come notato da t0r0X.
GEdgar,

14

I dati sull'immagine DMG possono essere controllati per l'integrità con l'utilità Disco. È possibile rendere obbligatorio per l'utente accettare la licenza prima di montare dmg. Potrebbe essere bloccato dalla modifica. Puoi facilmente aggiungere file e cartelle nascosti su DMG. Puoi creare un'immagine di sfondo. Puoi renderlo sicuro dallo stripping durante il transito attraverso file system non metadati come FAT.

Molte ragioni in realtà .


1
Tutte le caratteristiche interessanti di un DMG, ma non aggiungono nulla a un PKG a meno che non possano seriamente verificare la propria integrità.
Jim McKeeth,

6

Una possibile ragione potrebbe essere che Safari per impostazione predefinita monta automaticamente i file DMG e che una finestra del Finder si aprirà con il contenuto. A sua volta, la cartella DMG potrebbe essere in stile con ad esempio un'immagine di sfondo. Suppongo che potrebbe essere considerato più user-friendly che dover cercare un installer nella cartella Download, ma sono d'accordo che è piuttosto controverso.

Un altro motivo potrebbe essere la possibilità di raggruppare anche altri file di supporto, ad esempio file di documentazione o anche programmi di installazione secondari.

Tuttavia, non è una distribuzione così comune per cominciare. La maggior parte delle app sono distribuite come cartelle .app autonome all'interno di un file DMG (se non tramite l'App Store ora). Il tuo esempio sembra essere piuttosto un'eccezione per me, anche se forse è più comune con alcuni canali di distribuzione particolari? Personalmente, non mi soffermerei molto oltre.


1
+ 1 per l'ultimo paragrafo - Ho pensato che a causa di som trojan .dmg non sono (sicuramente non dovrebbero) essere montati automaticamente
user151019

@Gerry, montato automaticamente ?? Che impostazione folle è questa?
Pacerier,

@Gerry, questo non contraddice "..accedere alla licenza .." in apple.stackexchange.com/a/30698/6533 ?
Pacerier,

1

Ancora un altro motivo è che non è possibile eseguire file .pkg direttamente dai volumi di rete, ma è possibile eseguire un .dmg da un volume di rete e quindi avviare il pacchetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.