Чому так багато Mac завантажує .dmg, що містить лише один .pkg?


22

Я помітив, що багато завантажень - це dmg (образ диска), який містить один файл pkg (інсталяційний пакет). Зазвичай pkg, здається, вже стискається, оскільки dmg не зменшує розмір файлу сильно, якщо такий є.

Приклад :

Економія 737 658 байт, або 0,6% від вихідного розміру файлу.

Чи є причина не просто поширювати pkg? Чи важлива економія на стисненні на 0,6%? Або це просто так, як завжди робилося на Mac?

(Так, я розумію, що 737 658 байт разів перевищує всі мільйони завантажень, які отримує dmg, але це завжди прикро, що є додаткові кроки, щоб встановити dmg, запустити інсталятор і потім відключити dmg. Може бути краще питання: "чому Mac OS X не розпізнає dmg з одним pkg всередині нього просто pkg та просто встановить його, не вимагаючи всього цього монтажу та демонтажу?")


Насправді сучасні пакети - це плоскі файли, а не папки. Тому розміщувати їх у dmg просто для надання плоского файлу вже не потрібно.
бластер

@mlaster Це, мабуть, не відповідає дійсності. У вас є приклад?
Геррі

1
radiosilenceapp.com/downloads/Private%20Eye.pkg - один із прикладів, як і JavaForMacOSX10.7.pkg (хоча Apple все ще має його як .dmg, коли він готовий до завантаження). У мене в архіві завантажень є декілька інших, але це, безумовно, ще не універсально. fileперераховує їх як "архів xar - версія 1", але тоді виникає проблема забезпечення переконання, що веб-сервер налаштований на завантаження файлів .pkg, а не на показ. (Я очікую, що деякі розробники використовують .zip замість .dmg з тієї ж причини - навіть найгірше налаштовані веб-сервери та браузери знають завантаження .zip файлів).
TJ Luoma

1
Однак, навіть коли ми отримали плоскі файли, багато розробників поміщають .pkg файли всередині .zip, оскільки вони можуть розраховувати на серверах, щоб їх тип MIME був встановлений правильно для файлів .zip, але не обов'язково для .pkg (або .dmg для цього питання. ).
TJ Luoma

Відповіді:


24

Технічно .pkg - це не файл , а папка . Тож можливо збирання його в єдиний файл має важливе значення для завантаження.


1
Я навіть цього не усвідомлював, але ти вдарив цвяхом по голові.
Геррі

Не знав цього і про .pkg. Знаючи, що це все має сенс. Спасибі!
Jim McKeeth

2
Упакування його в dmg означає, що будь-які атрибути файлів та / або вилки ресурсів OS X зберігаються, і ви можете їх обслуговувати на веб-сервері, який не є ОС X X. Ось чому також оновлено формат пакету, щоб включити плоскі файли в останніх версіях ОС X.
Джо Блок

6
Ця відповідь вже точно не відповідає дійсності, .pkgфайли сьогодні більше ніж звичайна папка: en.wikipedia.org/wiki/Installer_(OS_X)#Installer_package
t0r0X

1
@Wisbucky: це повинно бути останнім часом, ніж 2011 рік, як зазначає t0r0X.
GEdgar

14

Дані про зображення DMG можна перевірити на цілісність за допомогою утиліти Disk. Ви можете зробити так, щоб користувач погодився на ліцензію перед монтажем dmg. Його можна заблокувати від модифікації. Ви можете легко додавати приховані файли та папки в DMG. Ви можете зробити фонове зображення. Ви можете захистити його від зняття під час транзиту через файлові системи, що не знають метаданих, як FAT.

Насправді безліч причин .


1
Всі цікаві функції DMG, але вони нічого не додають до ПК, якщо вони серйозно не зможуть перевірити власну цілісність.
Джим Маккіт

6

Однією з можливих причин може бути те, що Safari за замовчуванням автоматично монтує файли DMG, а у вікні Finder з'являється вміст. У свою чергу, папку DMG можна стилізувати, наприклад, із фоновим зображенням. Я припускаю, що це можна вважати більш зручним для користувачів, ніж шукати інсталятора у папці завантажень, але я згоден, що це досить суперечливо.

Ще однією причиною буде можливість групувати інші підтримуючі файли, наприклад файли документації або навіть вторинні інсталятори.

Однак розпочати це не такий поширений розподіл. Більшість додатків поширюються як автономні папки .app у файлі DMG (якщо не через App Store зараз). Ваш приклад, здається, є для мене винятком, хоча, можливо, він є більш звичним для деяких конкретних каналів розповсюдження? Особисто я не зупинився б на цьому набагато далі.


1
+ 1 для останнього абзацу - я вважав, що через som trojans .dmg s не (точно не повинен) встановлюватись автоматично
user151019

@Gerry, Автоматично встановлений ?? Яка це божевільна установка?
Pacerier

@ Джеррі, чи не суперечить це ".. погоджуюсь з ліцензією .." в apple.stackexchange.com/a/30698/6533 ?
Pacerier

1

Ще одна причина полягає в тому, що ви не можете запускати .pkg файли безпосередньо з мережевих томів, але ви можете запустити .dmg з мережевого тома і потім запустити пакет.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.