วิธีการเขียนไปยังระบบไฟล์แบบอ่านอย่างเดียว Mac OSX


11

ฉันมี DMG ฉันต้องติดตั้งและเขียนไฟล์ เมื่อฉันเมานต์ finder จะแสดงรูทและทั้งหมดเป็นแบบอ่านอย่างเดียว

จากนั้นฉันก็ค้นพบ 'mount -w' แต่เมื่อฉันเรียกใช้ฉันจะได้รับ 'mount: ไฟล์พิเศษหรือระบบไฟล์ที่ไม่รู้จัก'

ฉันจะเมานท์อิมเมจดิสก์นี้เป็นแบบเขียนได้หรือบีบอัดไฟล์ลงไปได้อย่างไร

คำตอบ:


16

DMGs แบบอ่านอย่างเดียวเกือบทั้งหมดถูกบีบอัดจริง ๆ ( UDZ0- ดูhdiutil(1)man page) ดังนั้นรูปแบบไฟล์ของพวกเขาจึงไม่รองรับเพียงแค่ "พลิกบิต" เพื่อให้สามารถเขียนได้

คุณสามารถใช้ Disk Utility หรือ

hdiutil imageinfo filename.dmg  

... เพื่อดูว่าฟอร์แมตดิสก์อิมเมจของคุณอยู่ในรูปแบบใดจากนั้นคุณสามารถใช้ Disk Utility หรืออะไรก็ได้

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) เป็นแบบอ่านอย่างเดียว ผมสันนิษฐานว่า dmgs ทั้งหมดถูกบีบอัดด้วยบางสิ่งบางอย่างและอื่น ๆ ไม่สามารถเขียนได้ ... ฉันไม่เคยรู้เท่าทันเจอไม่ใช่การบีบอัดฮึกเหิม ...
ไบรอัน Postow

@Brian - ฉันใช้ UDSP ที่เข้ารหัสเป็นประจำสำหรับการจัดเก็บข้อมูลที่สำคัญในแล็ปท็อปของฉัน (รหัสผ่านข้อมูลธนาคาร ฯลฯ )
KeithB

1
เฮ้นี่ช่วยได้มากขอบคุณ! ฉันพบวิธีที่ง่ายสุด ๆ ในการทำสิ่งนี้ลองดูคำตอบของฉัน ชอบที่จะได้ยินความคิดของคุณ
MW Felker

1
@ MaxFelker ดีใจที่ฉันแนะนำการใช้ไฟล์เงาช่วยให้คุณ ขอบคุณสำหรับการสะกดวิธีที่ดีอย่างหนึ่งในการทำมัน
Spiff

มีประโยชน์มาก +1 เพื่อนของฉัน!
MW Felker

5

นี่คือวิธีที่ฉันใช้สำหรับโครงการและเป็นวิธีที่ดีที่สุดในการทำสิ่งนี้ พบได้ที่นี่:

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

แนบไฟล์ dmg แบบอ่านอย่างเดียวโดยใช้ hdiutil

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

1

หากมี "พื้นที่" เพียงพอบน DMG ของ Rd-onry คุณสามารถแปลงเป็น R / W DMG โดยใช้ Disk Utility และแปลงกลับเป็น DMG ที่บีบอัดหากคุณต้องการ มิฉะนั้นคุณสามารถ "ขยาย" DMG โดยใช้ hdiutil


-2

คุณไม่สามารถเขียนถึง DMG มันไม่มีเหตุผล คุณต้องคัดลอกทุกอย่างออกแก้ไขและสร้าง DMG ใหม่

ขอโทษ


นั่นไม่ใช่ความจริง คุณสามารถสร้างไฟล์. dmg แบบอ่าน - เขียน นอกจากนี้คุณไม่จำเป็นต้องคัดลอกทุกอย่างออกไปคุณสามารถแปลงอิมเมจดิสก์เป็นรูปแบบที่เขียนได้ ดูคำตอบของฉัน
Spiff

1
@ ความเร็วฉันคิดว่า แต่วิธีการแก้ปัญหาของคุณมีประสิทธิภาพเช่นเดียวกับฉันเพราะมันมีการยกเลิกการบีบอัดที่คุณเพิ่มไฟล์ใหม่และบีบอัดอีกครั้ง ถ้ามันไม่ได้อยู่ในสถานที่แล้วคุณไม่ได้จริงๆเขียนถึง DMG ที่มีอยู่ ...
Brian Postow

คำตอบของคุณมีข้อมูลเท็จ
Brian

1
-1 แต่ถ้าคุณเปลี่ยนบรรทัด "คุณไม่สามารถเขียนเป็น DMG" เป็นสิ่งที่เป็นจริงเช่น "คุณไม่สามารถเขียนเป็น DMG แบบอ่านอย่างเดียว" ฉันจะเปลี่ยนการลงคะแนนของฉัน ขอบคุณ!
Dan Rosenstark

-2

รูปภาพ DMG ปกติไม่สามารถเขียนได้เนื่องจากไม่มีวิธีเพิ่มพื้นที่ว่าง วิธีการแก้ปัญหาตามที่ระบุไว้โดย @Brian_Postow คือการคัดลอกเนื้อหาทั้งหมดและสร้างไฟล์ DMG ใหม่ทั้งหมด หากคุณวางแผนที่จะทำสิ่งนี้มากในครั้งต่อไปให้สร้างภาพเบาบางเนื่องจากสิ่งเหล่านี้สามารถเขียนได้


1
นั่นไม่จริงอย่างแน่นอน นามสกุล. dmg ไม่ได้แปลว่าเป็นอ่านอย่างเดียว ดูคำตอบของฉัน
Spiff

ฉันควรจะพูดว่า "เริ่มต้น" แทน "ปกติ" ข้อมูลที่ดีเกี่ยวกับการแปลงพวกเขาว่า
Chris Nava
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.