Comment écrire sur un système de fichiers en lecture seule Mac OSX?

11

J'ai DMG, je dois monter et écrire un fichier. Lorsque je le monte, le Finder affiche la racine et tout en lecture seule.

Puis j'ai découvert 'mount -w'. Mais quand je lance ça, j'obtiens 'mount: fichier spécial ou système de fichiers inconnu'.

Comment puis-je monter cette image disque en écriture ou y forcer un fichier?

le miroir
la source

Réponses:

16

Presque tous les DMG en lecture seule sont réellement compressés ( UDZ0- voir la hdiutil(1)page de manuel), donc leur format de fichier ne prend pas simplement en charge le "retournement un peu" pour les rendre accessibles en écriture.

Vous pouvez utiliser l'Utilitaire de disque ou

hdiutil imageinfo filename.dmg  

... pour voir le format de votre image disque. Ensuite, vous pouvez utiliser l'Utilitaire de disque ou quelque chose comme

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

... pour le convertir en format lecture-écriture. Notez que la conversion ne se produit pas sur place, vous devrez donc lui dire de placer le fichier de sortie sur un système de fichiers qui a suffisamment de place pour une copie non compressée de toutes les données de votre .dmg.

L' .dmgextension ne garantit pas que l'image est réellement compressée, mais c'est de loin la possibilité la plus probable.

Plusieurs autres possibilités s'offrent à vous hdiutil. Par exemple, si votre .dmgest en lecture seule ( UDRO) non compressé , il peut être possible de le forcer à monter en lecture-écriture. De plus, si vous souhaitez laisser votre .dmgfichier compressé mais que vous souhaitez toujours le monter de manière accessible en écriture, vous pouvez le monter avec un "fichier fantôme"; toutes les écritures sont écrites dans le fichier fantôme.

Mise à jour : d'autres réponses à cette question semblent penser que cela .dmgsignifie toujours ce UDZ0qui n'est pas vrai. À partir de la hdiutil(1)page de manuel, voici la liste des formats internes que vous .dmgpouvez avoir (notez que certains d'entre eux peuvent avoir différentes extensions de nom de fichier par défaut.sparseimage , mais je suis presque sûr que ce n'est pas une règle stricte non plus).

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
la source
Je n'ai pas supposé UDZ0, mais tous les types sauf UDRW et UDSP (peut-être UDxx UDSB ou UDT0) sont en lecture seule. J'ai supposé que tous les dmgs étaient compressés avec QUELQUE CHOSE, et donc non inscriptibles ... Je n'ai jamais rencontré sciemment un DMG NON ​​compressé ...
Brian Postow
@Brian - J'utilise régulièrement un UDSP crypté pour stocker des informations sensibles sur mon ordinateur portable (mots de passe, informations bancaires, etc.).
KeithB
1
Hé, ça a beaucoup aidé, merci! J'ai trouvé un moyen super simple de le faire, jetez un œil à ma réponse. Aimerais entendre vos pensées.
MW Felker
1
@MaxFelker Heureux ma suggestion d'utiliser un fichier shadow vous a aidé. Merci d'avoir précisé une bonne façon de procéder.
Spiff
Super utile, +1 mon mec!
MW Felker
5

Voici la méthode que je viens d'utiliser pour un projet et était de loin la meilleure façon de le faire. Je l'ai trouvé ici:

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

Joindre un fichier dmg en lecture seule à l'aide de hdiutil

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

Modifiez votre DM. Utilisez la ligne de commande pour ajouter, modifier ou supprimer du contenu - le faire dans l'interface graphique peut avoir des effets secondaires étranges ou des problèmes d'autorisation. En outre, vous devrez peut-être sudo les commandes

Détachez le lecteur monté par la commande ci-dessous ou éjectez-le du Finder

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

Conversion / écriture d'un dmg ombré en DMG en lecture seule

hdiutil convert -format UDZO -o /path/to/new.dmg /path/to/your.dmg -shadow
MW Felker
la source
Je suis sur Sierra et cela ne fonctionne pas pour moi. Il crée le fichier ".shadow" et monte le dmg, mais le lecteur monté est toujours en lecture seule. J'ai même essayé de rendre le .dmg accessible en écriture et vérifié que le fichier .shadow était accessible en écriture.
TechSavvySam
1

s'il y a suffisamment "d'espace" sur le DMG Rd-onry, vous pouvez convertir en DMG R / W à l'aide de Disk Utility, et le reconvertir en DMG compressé si vous le souhaitez. Sinon, vous pouvez "étendre" le DMG en utilisant hdiutil

junh1024
la source
-2

Vous ne pouvez pas écrire à un DMG. cela n'a aucun sens. Vous devez tout copier, éditer et créer un nouveau DMG.

Désolé.

Brian Postow
la source
Ce n'est tout simplement pas vrai. Vous pouvez créer des fichiers .dmg en lecture-écriture. De plus, vous n'avez pas besoin de tout copier, vous pouvez simplement convertir l'image disque en un format inscriptible. Voir ma réponse.
Spiff
1
@Spiff, je suppose, mais votre solution est EFFICACEMENT la même que la mienne, car elle doit décompresser, ajouter le nouveau fichier et recompresser. Si ce n'est pas en place, alors vous
n'écrivez PAS
Votre réponse contient de fausses informations.
Brian
1
-1 mais si vous changez la ligne "Vous ne pouvez pas écrire dans un DMG" en quelque chose qui est réellement vrai, comme "Vous ne pouvez pas écrire dans un DMG en lecture seule", je changerai mon vote. Merci!
Dan Rosenstark
-2

Une image DMG standard n'est pas accessible en écriture car il n'y a aucun moyen d'y ajouter de l'espace. La solution indiquée par @Brian_Postow consiste à copier l'intégralité du contenu et à créer un tout nouveau fichier DMG. Si vous prévoyez de faire beaucoup de choses, la prochaine fois, créez une image clairsemée car elles sont accessibles en écriture.

Chris Nava
la source
1
Ce n'est pas tout à fait vrai. L'extension .dmg ne signifie pas nécessairement qu'elle est en lecture seule. Voir ma réponse.
Spiff
J'aurais dû dire "par défaut" au lieu de "régulier". Bonne information sur les convertir cependant.
Chris Nava