Определить точный размер DMG для хранения данных

576
ericg

Допустим, у меня есть три файла со следующими размерами:

Файл A: 15468 байт

Файл B: 3874235 байт

FileC: 10452326 байт

и я хочу создать UDIF, GPTSPUD, HFS + DMG с hdiutil, который будет в точности соответствовать размеру этих файлов. Я, конечно, могу сказать hdiutil создать dmg размером 14342029 байт, но у dmg будет доступно <14342029 байт в свободном пространстве из-за количества байтов, необходимых для поддержки файловой системы.

Есть ли известный способ подсчитать, насколько большим будет DMG, чтобы он вмещал файлы?

ps В «реальном» случае тысячи файлов разных размеров.

pss Я знаю о различных проблемах, когда файлы фактически используют X количество блоков на диске и что блок имеет фиксированный размер.

1
Почему вы хотите создать образ диска с точным размером для файлов? Является ли создание разреженного изображения (которое будет занимать только пространство, необходимое для его содержимого, а не всей его емкости, включая свободное пространство) как-то неподходящим? Scott 12 лет назад 1
Потому что мне интересно, как определить точный размер (или достаточно близко). Это просто вопрос, на который я ищу ответ. ericg 12 лет назад 1
Ну, это сложный вопрос - вам нужно принять во внимание метаданные для самого .dmg. Почему бы просто не использовать hdiutil create с опцией -srcfolder, которая создаст DMG-форму? w00t 12 лет назад 0
Опять же, существует много решений общей проблемы - создание DMG для хранения набора файлов. Я просто ищу конкретный ответ на этот вопрос. ericg 12 лет назад 0

0 ответов на вопрос