Prawie wszystkie DMG tylko do odczytu są w rzeczywistości skompresowane ( UDZ0
- patrz hdiutil(1)
strona podręcznika ), więc ich format pliku nie obsługuje po prostu „odwrócenia”, aby można je było zapisać.
Możesz użyć Narzędzia dyskowego lub
hdiutil imageinfo filename.dmg
... aby zobaczyć, w jakim formacie jest obraz twojego dysku. Następnie możesz użyć Narzędzia dyskowego lub czegoś podobnego
hdiutil convert filename.dmg -format UDSP -o filename.sparseimage
... aby przekonwertować go na format do odczytu i zapisu. Zauważ, że konwersja nie odbywa się w miejscu, więc musisz powiedzieć mu, aby umieścił plik wyjściowy w systemie plików, który ma wystarczająco dużo miejsca na nieskompresowaną kopię wszystkich danych z twojego .dmg
.
.dmg
Rozszerzenie nie gwarantuje, że obraz jest rzeczywiście skompresowany, ale to zdecydowanie najbardziej prawdopodobnej możliwości.
Dostępnych jest kilka innych możliwości hdiutil
. Na przykład, jeśli w .dmg
rzeczywistości nieskompresowane jest tylko do odczytu ( UDRO
), może być możliwe wymuszenie na nim montowania do odczytu i zapisu. Ponadto, jeśli chcesz pozostawić swój .dmg
skompresowany, ale nadal chcesz zamontować go w zapisywalny sposób, możesz zamontować go za pomocą „pliku cienia”; wszystkie zapisy faktycznie są zapisywane do pliku cienia.
Aktualizacja : wydaje się, że inne odpowiedzi na to pytanie .dmg
zawsze oznaczają, UDZ0
co po prostu nie jest prawdą. Na hdiutil(1)
stronie podręcznika znajduje się lista wewnętrznych formatów, .dmg
które mogą mieć (pamiętaj, że kilka z nich może mieć różne domyślne rozszerzenia nazw plików .sparseimage
, ale jestem pewien, że nie jest to również trudna i szybka reguła).
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
Oto metoda, której właśnie użyłem w projekcie i był to zdecydowanie najlepszy sposób na zrobienie tego. Znaleziono to tutaj:
http://myjeeva.com/best-possible-way-edit-read-only-dmg.html
Załącz plik dmg tylko do odczytu za pomocą hdiutil
Zmodyfikuj swój DM. Użyj wiersza poleceń, aby dodawać, edytować lub usuwać zawartość - wykonywanie tego w GUI może mieć dziwne skutki uboczne lub problemy z uprawnieniami. Ponadto może być konieczne sudo poleceń
Odłącz zamontowany dysk za pomocą poniższego polecenia lub Wyrzuć go z Findera
Konwersja / zapis ukrytego dmg w DMG tylko do odczytu
źródło
jeśli w Rd-onry DMG jest wystarczająco dużo „miejsca”, możesz przekonwertować na R / W DMG za pomocą Narzędzia dyskowego i, jeśli chcesz, przekonwertować go ponownie na skompresowany DMG. W przeciwnym razie możesz „rozwinąć” DMG za pomocą hdiutil
źródło
Nie możesz pisać do DMG. to nie ma sensu. Musisz skopiować wszystko, edytować i stworzyć nowy DMG.
Przepraszam.
źródło
Zwykłego obrazu DMG nie można zapisać, ponieważ nie ma możliwości dodania do niego miejsca. Rozwiązanie wskazane przez @Brian_Postow polega na skopiowaniu całej zawartości i utworzeniu nowego pliku DMG. Jeśli planujesz to często robić, następnym razem utwórz rzadki obraz, ponieważ można je zapisać.
źródło