回答:
(ほとんどすべての読み取り専用をDMGSは、実際には圧縮されているUDZ0
-を参照してhdiutil(1)
、そのファイル形式は、それらが書き込み可能にするために、「ビットを反転」だけでサポートされていないので、manページを)。
ディスクユーティリティを使用するか、
hdiutil imageinfo filename.dmg
...ディスクイメージの形式を確認します。次に、ディスクユーティリティなどを使用します。
hdiutil convert filename.dmg -format UDSP -o filename.sparseimage
...それを読み書きフォーマットに変換します。変換はその場で行われないことに注意してください。そのため、出力ファイルを、からのすべてのデータの非圧縮コピー用の十分なスペースがあるファイルシステムに置くように指示する必要があります.dmg
。
.dmg
拡張子は、実際に画像が圧縮されていることではない保証はないが、それは、これまでで最も可能性が高い可能性があります。
で利用できる他のいくつかの可能性がありますhdiutil
。たとえば、.dmg
実際に非圧縮の読み取り専用(UDRO
)の場合は、読み取り/書き込みでマウントするように強制することができる場合があります。また、.dmg
圧縮したままにしたいが、書き込み可能な方法でマウントしたい場合は、「シャドウファイル」を使用してマウントできます。すべての書き込みは実際にシャドウファイルに書き込まれます。
更新:この質問に対する他の回答は、.dmg
常に意味がUDZ0
あると考えているようですが、これは正しくありません。hdiutil(1)
manページから、ここにが持つ.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
これが私がプロジェクトに使用した方法であり、これを行うための最善の方法でした。ここで見つかりました:
http://myjeeva.com/best-possible-way-edit-read-only-dmg.html
hdiutilを使用して読み取り専用のdmgファイルを添付する
hdiutil attach -owners on /path/to/your.dmg -shadow
DMを変更します。コマンドラインを使用してコンテンツを追加、編集、または削除します。GUIで実行すると、奇妙な副作用や権限の問題が発生する可能性があります。さらに、コマンドをsudoする必要があるかもしれません
以下のコマンドでマウントされたドライブを切り離すか、Finderから取り出します
# fill disk number at <number>
hdiutil detach /dev/disk<number>
シャドウイングされたdmgを読み取り専用DMGに変換/書き込み
hdiutil convert -format UDZO -o /path/to/new.dmg /path/to/your.dmg -shadow
DMGに書き込むことはできません。意味がない。すべてをコピーして編集し、新しいDMGを作成する必要があります。
ごめんなさい。
通常のDMGイメージは、スペースを追加する方法がないため、書き込みできません。@Brian_Postowが指摘する解決策は、コンテンツ全体をコピーして、まったく新しいDMGファイルを作成することです。これを頻繁に行う予定の場合は、書き込み可能であるため、次にスパースイメージを作成します。