Làm cách nào để ghi vào hệ thống tệp chỉ đọc Mac OSX?


11

Tôi có DMG tôi cần phải gắn kết và viết một tập tin. Khi tôi gắn kết nó, công cụ tìm sẽ hiển thị gốc và tất cả dưới dạng chỉ đọc.

Sau đó, tôi phát hiện ra 'mount -w'. Nhưng khi tôi chạy nó, tôi nhận được 'mount: tệp đặc biệt hoặc hệ thống tệp không xác định.'

Làm thế nào tôi có thể gắn hình ảnh đĩa này là có thể ghi hoặc buộc một tập tin vào nó?

Câu trả lời:


16

Hầu như tất cả các DMG chỉ đọc thực sự được nén ( UDZ0- xem hdiutil(1)trang hướng dẫn), vì vậy định dạng tệp của chúng không hỗ trợ chỉ đơn giản là "lật một chút" để làm cho chúng có thể ghi được.

Bạn có thể sử dụng Disk Utility hoặc

hdiutil imageinfo filename.dmg  

... để xem định dạng hình ảnh đĩa của bạn. Sau đó, bạn có thể sử dụng Disk Utility hoặc đại loại như

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

... Để chuyển đổi nó thành định dạng đọc-ghi. Lưu ý rằng việc chuyển đổi không diễn ra tại chỗ, vì vậy bạn sẽ phải yêu cầu chuyển đổi tệp đầu ra trên một hệ thống tệp có đủ chỗ cho một bản sao không nén của tất cả dữ liệu từ bạn .dmg.

Các .dmgphần mở rộng không đảm bảo rằng hình ảnh được thực sự nén, nhưng điều đó bằng cách xa khả năng nhiều khả năng.

Có một số khả năng khác có sẵn cho bạn với hdiutil. Chẳng hạn, nếu bạn .dmgthực sự không nén chỉ đọc ( UDRO), có thể buộc nó phải gắn kết đọc-ghi. Ngoài ra, nếu bạn muốn để .dmgnén nhưng vẫn muốn gắn nó theo kiểu có thể ghi, bạn có thể gắn nó với "tệp bóng"; tất cả các ghi thực sự được ghi vào tập tin bóng.

Cập nhật : Các câu trả lời khác cho Câu hỏi này dường như .dmgluôn luôn có nghĩa là UDZ0điều đó không đúng. Từ hdiutil(1)trang man, đây là danh sách các định dạng nội bộ .dmgcó thể có (lưu ý rằng một vài trong số này có thể có các phần mở rộng tên tệp mặc định khác nhau .sparseimage, nhưng tôi khá chắc chắn rằng đó cũng không phải là quy tắc khó và nhanh).

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  

Tôi không giả sử UDZ0, nhưng tất cả các loại ngoại trừ UDRW và UDSP (có thể UDxx UDSB hoặc UDT0) chỉ được đọc. Tôi đã giả định rằng tất cả các dmg đều được nén bằng SOMETHING, và do đó không thể ghi được ... Tôi chưa bao giờ cố tình bắt gặp một DMG không nén ...
Brian Postow

@Brian - Tôi thường xuyên sử dụng UDSP được mã hóa để lưu trữ thông tin nhạy cảm trên máy tính xách tay của mình (mật khẩu, thông tin ngân hàng, v.v.).
KeithB

1
Này đã giúp rất nhiều, cảm ơn! Tôi tìm thấy một cách siêu dễ dàng để làm điều này, hãy xem câu trả lời của tôi. Rất muốn được nghe những suy nghĩ của bạn.
MW Felker

1
@MaxFelker Vui mừng đề xuất của tôi về việc sử dụng tệp bóng đã giúp bạn. Cảm ơn đã đánh vần một cách tốt để làm điều đó.
Spiff

Siêu hữu ích, +1 anh chàng của tôi!
MW Felker

5

Đây là phương pháp tôi vừa sử dụng cho một dự án và cho đến nay là cách tốt nhất để làm điều này. Tìm thấy nó ở đây:

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

Đính kèm tập tin dmg chỉ đọc bằng hdiutil

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

Sửa đổi DM của bạn. Sử dụng dòng lệnh để thêm, chỉnh sửa hoặc xóa nội dung - thực hiện trong GUI có thể có các tác dụng phụ lạ hoặc các vấn đề về quyền. Ngoài ra, bạn có thể cần phải sudo các lệnh

Tháo ổ đĩa được gắn bằng lệnh bên dưới hoặc Đẩy nó ra khỏi Finder

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

Chuyển đổi / Viết một dmg bị bóng thành DMG chỉ đọc

hdiutil convert -format UDZO -o /path/to/new.dmg /path/to/your.dmg -shadow

Tôi đang ở Sierra và điều này không làm việc cho tôi. Nó tạo tập tin ".shadow" và gắn dmg, nhưng ổ đĩa được gắn vẫn chỉ đọc. Tôi thậm chí đã thử làm cho .dmg có thể ghi và xác minh rằng tệp .shadow có thể ghi được.
TechSavvySam

1

nếu có đủ "dung lượng" trên DMG-onry DMG, bạn có thể chuyển đổi sang DMG R / W bằng Disk Utility và chuyển đổi lại thành DMG đã nén nếu muốn. Nếu không, bạn có thể "mở rộng" DMG bằng hdiutil


-2

Bạn không thể viết thư cho DMG. không có nghĩa lý gì. Bạn cần sao chép mọi thứ ra, chỉnh sửa và tạo DMG mới.

Lấy làm tiếc.


Điều đó không đúng. Bạn có thể tạo tập tin .dmg đọc-ghi. Ngoài ra, bạn không cần phải sao chép mọi thứ ra ngoài, bạn chỉ cần chuyển đổi hình ảnh đĩa sang định dạng có thể ghi. Xem câu trả lời của tôi.
Spiff

1
@Spiff, tôi cho rằng, nhưng giải pháp của bạn HIỆU QUẢ giống như của tôi, vì nó phải giải nén, bạn thêm tệp mới và nén lại. Nếu nó không đúng chỗ, thì bạn
KHÔNG

Câu trả lời của bạn chứa thông tin sai lệch.
Brian

1
-1 nhưng nếu bạn thay đổi dòng "Bạn không thể viết thành DMG" thành một cái gì đó thực sự đúng, như, "Bạn không thể viết cho DMG chỉ đọc" Tôi sẽ thay đổi phiếu bầu của tôi. Cảm ơn!
Dan Rosenstark

-2

Một hình ảnh DMG thông thường không thể ghi được vì không có cách nào để thêm không gian cho nó. Giải pháp như được lưu ý bởi @Brian_Postow là sao chép toàn bộ nội dung và tạo một tệp DMG hoàn toàn mới. Nếu bạn dự định làm điều này rất nhiều, lần tới hãy tạo một hình ảnh thưa thớt vì những thứ này có thể ghi được.


1
Điều đó không chính xác. Phần mở rộng .dmg không nhất thiết có nghĩa là nó chỉ đọc. Xem câu trả lời của tôi.
Spiff

Tôi nên nói "mặc định" thay vì "thông thường". Thông tin tốt về việc chuyển đổi chúng mặc dù.
Chris Nava
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.