Wie schreibe ich in ein schreibgeschütztes Mac OSX-Dateisystem?

11

Ich habe DMG, in das ich mounten und eine Datei schreiben muss. Wenn ich es einbinde, zeigt der Finder die Wurzel und alles als schreibgeschützt an.

Dann entdeckte ich 'mount -w'. Aber wenn ich das ausführe, bekomme ich 'mount: unbekannte spezielle Datei oder Dateisystem'.

Wie kann ich dieses Disk-Image als beschreibbar bereitstellen oder eine Datei darin erzwingen?

der Spiegel
quelle

Antworten:

16

Fast alle schreibgeschützten DMGs sind tatsächlich komprimiert ( UDZ0siehe hdiutil(1)Manpage), sodass ihr Dateiformat nicht einfach das "Umblättern" unterstützt, um sie beschreibbar zu machen.

Sie können das Festplatten-Dienstprogramm oder verwenden

hdiutil imageinfo filename.dmg  

... um zu sehen, in welchem ​​Format sich Ihr Disk-Image befindet. Dann können Sie das Disk Utility oder ähnliches verwenden

hdiutil convert filename.dmg -format UDSP -o filename.sparseimage  

... um es in ein Lese- / Schreibformat zu konvertieren. Beachten Sie, dass die Konvertierung nicht direkt erfolgt. Sie müssen sie daher anweisen, die Ausgabedatei in einem Dateisystem abzulegen, das genügend Platz für eine unkomprimierte Kopie aller Daten von Ihnen bietet .dmg.

Die .dmgErweiterung garantiert nicht, dass das Bild tatsächlich komprimiert ist, aber das ist bei weitem die wahrscheinlichste Möglichkeit.

Es stehen Ihnen mehrere andere Möglichkeiten zur Verfügung hdiutil. Wenn Ihr Beispiel .dmgbeispielsweise tatsächlich nicht komprimiert ist (schreibgeschützt ( UDRO)), kann es möglicherweise erzwungen werden, Lese- / Schreibzugriff bereitzustellen. Wenn Sie Ihre .dmgKomprimierung belassen möchten, sie aber dennoch beschreibbar bereitstellen möchten, können Sie sie auch mit einer "Schattendatei" bereitstellen. Alle Schreibvorgänge werden tatsächlich in die Schattendatei geschrieben.

Update : Andere Antworten auf diese Frage scheinen .dmgimmer zu denken , UDZ0was einfach nicht wahr ist. Auf der hdiutil(1)Manpage finden Sie eine Liste der internen Formate, .dmgdie Sie haben können (beachten Sie, dass einige davon unterschiedliche Standard- Dateinamenerweiterungen haben können .sparseimage, aber ich bin mir ziemlich sicher, dass dies auch keine feste Regel ist).

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  
Spiff
quelle
Ich habe UDZ0 nicht angenommen, aber alle Typen außer UDRW und UDSP (möglicherweise UDxx UDSB oder UDT0) sind schreibgeschützt. Ich nahm an, dass alle dmgs mit ETWAS komprimiert und daher nicht beschreibbar waren ... Ich bin nie wissentlich auf ein NICHT komprimiertes DMG
gestoßen
@Brian - Ich verwende routinemäßig ein verschlüsseltes UDSP, um vertrauliche Informationen (Passwörter, Bankdaten usw.) auf meinem Laptop zu speichern.
KeithB
1
Hey das hat sehr geholfen, danke! Ich habe einen super einfachen Weg gefunden, dies zu tun. Schauen Sie sich meine Antwort an. Würde gerne deine Gedanken hören.
MW Felker
1
@ MaxFelker Ich bin froh, dass mein Vorschlag, eine Schattendatei zu verwenden, Ihnen geholfen hat. Vielen Dank, dass Sie einen guten Weg formuliert haben.
Spiff
Super nützlich, +1 mein Typ!
MW Felker
5

Hier ist die Methode, die ich gerade für ein Projekt verwendet habe und die bei weitem der beste Weg war, dies zu tun. Fand es hier:

http://myjeeva.com/best-possible-way-edit-read-only-dmg.html

Hängen Sie die schreibgeschützte dmg-Datei mit hdiutil an

hdiutil attach -owners on /path/to/your.dmg -shadow

Ändern Sie Ihre DM. Verwenden Sie die Befehlszeile, um Inhalte hinzuzufügen, zu bearbeiten oder zu löschen. Dies in der GUI kann seltsame Nebenwirkungen oder Berechtigungsprobleme haben. Darüber hinaus müssen Sie möglicherweise die Befehle sudo

Trennen Sie das montierte Laufwerk mit dem folgenden Befehl oder werfen Sie es aus dem Finder aus

# fill disk number at <number>
hdiutil detach /dev/disk<number>

Konvertieren / Schreiben eines schattierten DMG in schreibgeschütztes DMG

hdiutil convert -format UDZO -o /path/to/new.dmg /path/to/your.dmg -shadow
MW Felker
quelle
Ich bin in Sierra und das funktioniert bei mir nicht. Es erstellt die ".shadow" -Datei und stellt das dmg bereit, das bereitgestellte Laufwerk ist jedoch weiterhin schreibgeschützt. Ich habe sogar versucht, die .dmg beschreibbar zu machen und überprüft, ob die .shadow-Datei beschreibbar ist.
TechSavvySam
1

Wenn auf dem Rd-onry-DMG genügend "Speicherplatz" vorhanden ist, können Sie mit dem Festplatten-Dienstprogramm in ein R / W-DMG konvertieren und es bei Bedarf wieder in ein komprimiertes DMG konvertieren. Andernfalls können Sie die DMG mit hdiutil "erweitern"

junh1024
quelle
-2

Sie können nicht in eine DMG schreiben. das macht keinen Sinn. Sie müssen alles kopieren, bearbeiten und eine neue DMG erstellen.

Es tut uns leid.

Brian Postow
quelle
Das stimmt einfach nicht. Sie können Lese- / Schreib-DMG-Dateien erstellen. Außerdem müssen Sie nicht alles kopieren, sondern können das Disk-Image einfach in ein beschreibbares Format konvertieren. Siehe meine Antwort.
Spiff
1
@Spiff, nehme ich an, aber Ihre Lösung ist EFFEKTIV dieselbe wie meine, da sie dekomprimiert, die neue Datei hinzugefügt und erneut komprimiert werden muss. Wenn es nicht vorhanden ist, schreiben Sie nicht WIRKLICH an die vorhandene DMG ...
Brian Postow
Ihre Antwort enthält falsche Informationen.
Brian
1
-1 aber wenn Sie die Zeile "Sie können nicht in eine DMG schreiben" in etwas ändern, das tatsächlich wahr ist, wie "Sie können nicht in eine schreibgeschützte DMG schreiben", ändere ich meine Stimme. Vielen Dank!
Dan Rosenstark
-2

Ein normales DMG-Bild ist nicht beschreibbar, da es keine Möglichkeit gibt, Speicherplatz hinzuzufügen. Die von @Brian_Postow angegebene Lösung besteht darin, den gesamten Inhalt zu kopieren und eine ganz neue DMG-Datei zu erstellen. Wenn Sie dies häufig tun möchten, erstellen Sie beim nächsten Mal ein spärliches Bild, da diese beschreibbar sind.

Chris Nava
quelle
1
Das stimmt nicht genau. Die Erweiterung .dmg bedeutet nicht unbedingt, dass sie schreibgeschützt ist. Siehe meine Antwort.
Spiff
Ich hätte "Standard" anstelle von "normal" sagen sollen. Gute Infos zum Konvertieren.
Chris Nava