Mac OSX読み取り専用ファイルシステムに書き込む方法は?


11

ファイルをマウントして書き込む必要があるDMGがあります。マウントすると、finderはルートとすべてを読み取り専用として表示します。

その後、「mount -w」を発見しました。しかし、それを実行すると、「mount:unknown special file or file system」が表示されます。

このディスクイメージを書き込み可能としてマウントしたり、ファイルを強制したりするにはどうすればよいですか?

回答:


16

(ほとんどすべての読み取り専用を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  

私はUDZ0とは想定していませんでしたが、UDRWとUDSP(たぶんUDxx UDSBまたはUDT0)以外のすべてのタイプは読み取り専用です。私はすべてのdmgがSOMETHINGで圧縮されていて、書き込み不可であると想定していました...非圧縮のDMGに故意に遭遇したことはありません...
Brian Postow

@Brian-私は暗号化されたUDSPを日常的に使用して、ノートパソコンに機密情報(パスワード、銀行情報など)を保存しています。
KeithB、

1
こんにちは、たくさん助けてくれてありがとう!私はこれを行う非常に簡単な方法を見つけました。私の答えを見てください。あなたの考えを聞いてみたいです。
MW Felker 14

1
@MaxFelkerシャドウファイルを使用するという私の提案が役に立ちました。それを行う1つの良い方法を綴ってくれてありがとう。
Spiff

とても便利です、私の男に+1してください!
MW Felker

5

これが私がプロジェクトに使用した方法であり、これを行うための最善の方法でした。ここで見つかりました:

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

私はシエラにいますが、これは私にはうまくいきません。「.shadow」ファイルを作成してdmgをマウントしますが、マウントされたドライブは読み取り専用のままです。.dmgを書き込み可能にしてみて、.shadowファイルが書き込み可能であることを確認しました。
TechSavvySam 2018

1

Rd-onry DMGに十分な「スペース」がある場合、ディスクユーティリティを使用してR / W DMGに変換し、必要に応じて圧縮DMGに戻すことができます。それ以外の場合は、hdiutilを使用してDMGを「拡張」できます


-2

DMGに書き込むことはできません。意味がない。すべてをコピーして編集し、新しいDMGを作成する必要があります。

ごめんなさい。


それは真実ではありません。読み書き可能な.dmgファイルを作成できます。また、すべてをコピーする必要はありません。ディスクイメージを書き込み可能な形式に変換するだけです。私の答えを見てください。
Spiff

1
@Spiffだと思いますが、あなたの解決策は私と同じです。解凍して、新しいファイルを追加して、再圧縮する必要があるからです。それが所定の場所にない場合、既存のDMGに本当に書き込みを行っているわけではありません...
Brian Postow

回答に誤った情報が含まれています。
ブライアン

1
-1ただし、「DMGに書き込むことはできません」という行を「読み取り専用DMGに書き込むことができない」など、実際に当てはまるものに変更すると、投票が変更されます。ありがとう!
Dan Rosenstark、2012

-2

通常のDMGイメージは、スペースを追加する方法がないため、書き込みできません。@Brian_Postowが指摘する解決策は、コンテンツ全体をコピーして、まったく新しいDMGファイルを作成することです。これを頻繁に行う予定の場合は、書き込み可能であるため、次にスパースイメージを作成します。


1
それは正確には当てはまりません。.dmg拡張子は、読み取り専用であることを必ずしも意味しません。私の答えを見てください。
Spiff

「通常」の代わりに「デフォルト」と言っておくべきだった。それらを変換する上で良い情報です。
Chris Nava、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.