У меня есть DMG, в который я должен смонтировать и записать файл. Когда я монтирую его, средство поиска показывает корень и все как только для чтения.
Затем я обнаружил, 'монтируют-w'. Но когда я выполняю это, я добираюсь, 'смонтируйтесь: неизвестный специальный файл или файловая система'.
Как я могу смонтировать этот образ диска как перезаписываемый, или вызвать файл в него?
Почти все DMGs только для чтения на самом деле сжаты (UDZ0
- посмотрите hdiutil(1)
страница справочника), таким образом, их формат файла не поддерживает просто "зеркальное отражение немного" для создания их перезаписываемыми.
Вы могли использовать Дисковую утилиту или
hdiutil imageinfo filename.dmg
... видеть то, в чем находится формат Ваш образ диска. Затем Вы могли использовать Дисковую утилиту или что-то как
hdiutil convert filename.dmg -format UDSP -o filename.sparseimage
... преобразовать его в формат чтения-записи. Обратите внимание, что преобразования не происходит оперативное, таким образом, необходимо будет сказать ему помещать выходной файл на файловую систему, которая имеет достаточно комнаты для несжатой копии всех данных из Вашего .dmg
.
.dmg
расширение не гарантирует, что изображение на самом деле сжато, но это - безусловно наиболее вероятная возможность.
Существует несколько других возможностей, доступных Вам с hdiutil
. Например, если Ваш .dmg
является на самом деле несжатым только для чтения (UDRO
), могло бы быть возможно вынудить это смонтировать чтение-запись. Кроме того, если Вы хотите оставить Ваш .dmg
сжатый, но все еще хочу смонтировать его перезаписываемым способом, можно смонтировать его с "теневым файлом"; все записи на самом деле записаны в теневой файл.
Обновление: Другой Отвечает на этот Вопрос, кажется, думают .dmg
всегда средства UDZ0
который просто не верен. От hdiutil(1)
страница справочника, вот список внутренних форматов a .dmg
может иметь (обратите внимание, что несколько они могут иметь различные расширения файла по умолчанию как .sparseimage
, но я вполне уверен, это не твердое правило ни один).
UDRW - UDIF read/write image
UDRO - UDIF read-only image
UDCO - UDIF ADC-compressed image
UDZO - UDIF zlib-compressed image
UDBZ - UDIF bzip2-compressed image (OS X 10.4+ only)
UFBI - UDIF entire image with MD5 checksum
UDRo - UDIF read-only (obsolete format)
UDCo - UDIF compressed (obsolete format)
UDTO - DVD/CD-R master for export
UDxx - UDIF stub image
UDSP - SPARSE (grows with content)
UDSB - SPARSEBUNDLE (grows with content; bundle-backed)
RdWr - NDIF read/write image (deprecated)
Rdxx - NDIF read-only image (Disk Copy 6.3.3 format)
ROCo - NDIF compressed image (deprecated)
Rken - NDIF compressed (obsolete format)
DC42 - Disk Copy 4.2 image
Вы не можете записать в DMG., он не имеет никакого смысла. Необходимо скопировать все, отредактировать и сделать новый DMG.
Прошу прощения.
Обычное изображение DMG не перезаписываемо, поскольку нет никакого способа добавить пространство к нему. Решение, как отмечено @Brian_Postow состоит в том, чтобы скопировать все содержание и создать совершенно новый файл DMG. Если Вы планируете сделать это много, в следующий раз создают редкое изображение, поскольку они перезаписываемы.