.dmg organizzazione dei file

2

Oggi avevo bisogno di visualizzare il contenuto degli SDK di OS X, che sono pubblicati come .dmg.

Con mia sorpresa, ho scoperto che la struttura è la seguente:

  • Il file .dmg contiene un file .pkg nascosto
  • I file .pkg contengono un file Payload, che è un file .gz o .bz2, dipende
  • Il file .gz contiene un singolo file cpio-compresso
  • Questo archivio cpio contiene tutti i file.

Qualcuno può fornire motivi tecnici e / o storici per cui ciò viene fatto in questo modo?

Per essere chiari: non ho alcun problema tecnico, sono solo curioso.

    
posta Calvin1602 27.04.2013 - 18:35
fonte

3 risposte

2
  • Il file .dmg è l'immagine del disco che è montabile come un file esterno. Il valore che fornisce qui è che .dmgs vengono controllati per coerenza / correttezza al momento del montaggio, quindi se il download è andato storto riceverai una notifica
  • Il pkg è il formato standard per il software installabile e in genere contiene non solo l'applicazione stessa ma tutte le altre cose visualizzate durante l'installazione: ReadMe, informazioni legali / di licenza, pacchetti opzionali ecc.
  • Il .gz serve per comprimere i dati e mantenere i pacchetti più piccoli su disco (e per il download)
  • .cpio è un formato di archivio simile a tar ecc.
risposta data 27.04.2013 - 18:46
fonte
2

Storicamente, il formato pkg proviene da pacchetti Unix (più direttamente quelli BSD), che sono essenzialmente il payload compresso (file in una struttura di cartelle equivalente a uno che finirebbero su disco) e alcuni ulteriori metadati e istruzioni per guidare la procedura guidata di installazione e scrivere informazioni in vari database di sistema.

Un file dmg è solo un'immagine del disco simile a quella che otterresti con un'utilità di tipo dd. Nella distribuzione delle applicazioni Mac è in un formato HFS simile a quello delle partizioni formattate HFS presenti sul supporto ottico.

Ora, non tutti i DMG contengono file .pkg. Alcune immagini DMG contengono solo pacchetti .app (che, ancora una volta, non sono altro che una cartella con tutte le risorse contenute in un'applicazione, ma poiché la cartella ha estensione .app Quartz / Finder trattarla come un unico file, molto come fanno con le cartelle che terminano in .kext o .component ecc.)

I file nascosti sono lì per nascondere la complessità e per altri motivi di tipo "user experience".

    
risposta data 27.04.2013 - 23:19
fonte
0

Bene, la struttura di un file .pkg non è quella più complessa o oscura di quella di un Debian .deb - entrambi sono archivi che contengono un altro archivio compresso per contenuti effettivi più i metadati che lo seguono (che in un file .deb si trova all'interno di un altro livello di compressione proprio come il carico utile!)

Informazioni sui file nascosti nel DMG , non c'è una risposta scientificamente provata: si potrebbe solo speculare sulla protezione da copia (un argomento che ovviamente non regge) o un tentativo eccessivo di nascondere il "background tecnico" dell'utente (come supportato dal contenuto di un InstallESD.dmg [Mountain] Lion che, non essendo inteso per l'accesso da parte di un utente umano, ha alcune cartelle visibili con funzionalità soddisfatte da quelli invisibili nelle versioni CD e DVD di Mac OS X) ...

Aggiungi a questo che dal 10.5 può esserci un ulteriore livello a causa dell'esistenza di pacchetti e distribuzioni / metapacchetti (usati per raggruppare i pacchetti con un componente-a -selezionando selettore installato e apparentemente richiesto, almeno con il PackageMaker datato e limitativo di Apple, per utilizzare varie funzionalità avanzate come le firme digitali o alcuni controlli dei requisiti di sistema).

    
risposta data 27.04.2013 - 18:50
fonte

Leggi altre domande sui tag