Cách giải nén tệp DMG trong Linux
Mở tệp hình ảnh trên Linux thường là một quá trình đơn giản. Tuy nhiên, các tệp DMG phức tạp hơn một chút vì Linux không hỗ trợ các loại tệp này cũng như hệ thống tệp mà chúng sử dụng. Nhưng nếu bạn chỉ cần giải nén một tệp DMG để xem và sao chép nội dung của nó sang máy Linux của mình, thì có một vài cách giải quyết.
Trước tiên, hãy nói về tệp DMG là gì và tại sao các hệ thống dựa trên Linux gặp khó khăn hơn khi mở chúng so với các tệp hình ảnh như ISO.
Mục Lục
Tệp DMG là gì?
Không giống như các tệp hình ảnh đa nền tảng như ISO và IMG, các tệp DMG chỉ dành cho máy Mac sử dụng. Điều này là do tệp DMG là định dạng tệp ảnh đĩa độc quyền do Apple tạo để chia sẻ và phân phối tệp cũng như phần mềm cho các sản phẩm của họ.
Tệp ảnh đĩa là một loại tệp hoạt động giống như một ổ đĩa vật lý. Các loại tệp này được sao chép từ ổ đĩa cứng thực tế và cung cấp bản sao “theo từng byte” của tất cả dữ liệu được lưu trữ.
Các tệp hình ảnh đĩa như DMG thường được sử dụng để phân phối phần mềm vì các nhà phát triển có thể dễ dàng tạo tệp hình ảnh về môi trường hiện tại của họ với tất cả các phụ thuộc của nó và phân phối phần mềm dưới dạng gói.
Điều này giúp người dùng cài đặt phần mềm dễ dàng hơn vì tất cả các phụ thuộc, cấu hình và tệp đã có sẵn giống như cách các nhà phát triển có phần mềm trên máy của họ.
Mặc dù định dạng tệp DMG được tạo để phân phối phần mềm của Apple, nhưng nó cũng được sử dụng như một cách để tạo bản sao lưu, môi trường lưu trữ và chia sẻ tất cả các loại phương tiện trong một gói được nén gọn gàng.
Và vì macOS đã đi kèm với công cụ tạo DMG gốc nên người dùng Mac có thể sẽ sử dụng DMG thay vì các định dạng tệp ảnh đĩa khác như ISO.
Vì không phải ai cũng sử dụng máy Mac nên việc giải nén tệp hình ảnh DMG bên ngoài thiết bị Mac có thể gặp sự cố. Vậy tại sao lại trích xuất một tệp như vậy trên Linux?
Theo Statista, Mac chiếm khoảng 17% thị trường PC ở Mỹ, được xếp hạng là hệ thống máy tính cá nhân phổ biến thứ hai. Đó là rất nhiều người sử dụng máy Mac, điều đó cũng có nghĩa là nhiều người sử dụng DMG hơn để nén và chia sẻ tệp của họ.
Vì vậy, việc bạn bè hoặc gia đình gửi cho bạn tệp DMG không phải là hiếm như mọi người nghĩ. Tất nhiên, cũng có thể có những lý do khác khiến người dùng Linux muốn trích xuất tệp DMG trên hệ thống của họ.
Là một định dạng hình ảnh độc quyền, các tệp DMG khó gắn và giải nén hơn trên Linux vì nó không hỗ trợ chính thức việc sử dụng DMG.
Vì hầu hết các bản phân phối Linux đều sử dụng Hệ thống tệp mở rộng như ext2, ext3 và ext4, nên việc gắn hình ảnh HFS hoặc HFS+ trên Linux sẽ dẫn đến sự không tương thích.
Mặc dù những sự cố này khiến việc giải nén các tệp DMG bên ngoài máy Mac trở nên khó khăn hơn nhưng vẫn có một số cách giải quyết để giải nén thành công các tệp trong Linux.
Vấn đề lớn nhất với việc giải nén tệp DMG trên Linux là việc gắn một tệp sẽ dẫn đến lỗi hệ thống tệp xấu. Để gắn DMG thành công, bạn cần cài đặt một tiện ích có tên là “hfsprogs”. Công cụ dòng lệnh này là một cổng từ HFS của Apple hddiutil công cụ cho phép hệ thống của họ gắn các hình ảnh kiểu HFS.
Bằng cách cài đặt hfsprogs, máy Linux của bạn sẽ có khả năng gắn các hình ảnh loại HFS như DMG.
Trước khi bạn cài đặt hfsprogs, hãy đảm bảo cập nhật các gói trên máy tính của bạn.
Bây giờ, hãy cài đặt hfsprogs trên Ubuntu/Debian bằng cách sử dụng:
sudo apt install hfsprogs
Trên Arch Linux, cài đặt hfsprogs từ AUR bằng yay:
yay -S hfsprogs
Trên Fedora, CentOS và RHEL, hãy sử dụng:
dnf install hfsplus-tools
Để gắn tệp hình ảnh DMG, hãy tạo một điểm gắn mới bằng cách tạo một thư mục mới:
sudo mkdir /mnt/mntpoint
Hãy gắn tệp DMG bằng cách chạy:
sudo mount -t hfsplus /dmg/location/Image.dmg /mount/mntpoint
Điều đó sẽ gắn tệp hình ảnh DMG thành công. Nhưng trong trường hợp này, chúng tôi đã được nhắc với lỗi loại hệ thống tệp sai.
Khi chạy lệnh sau, bạn có thể thấy tiện ích đưa ra lỗi hệ thống tệp xấu do DMG bị nén. Linux đặc biệt không thích gắn các tệp hình ảnh nén.
file image.dmg
Truy cập các tệp DMG đã nén
Để giải quyết vấn đề, hãy sử dụng một công cụ tiện ích có tên là dmg2img. Công cụ này sẽ chuyển đổi và giải nén tệp DMG thành tệp IMG.
Để cài đặt dmg2img trên Ubuntu/Debian, hãy chạy:
sudo apt install dmg2img
Trên Arch Linux:
sudo pacman -S dmg2img
Trên các bản phân phối dựa trên RPM, hãy sử dụng:
sudo dnf install dmg2img
Để sử dụng dmg2img, hãy sử dụng:
dmg2img image.dmg
dmg2img bây giờ sẽ nén và chuyển đổi DMG thành tệp IMG. Hãy thử gắn tệp hình ảnh bằng cách sử dụng:
sudo mount /img/file/location/image.img /mount/point/location
Lưu ý rằng bạn không còn cần phải sử dụng -t hfsplus tùy chọn trong lệnh vì Linux vốn hỗ trợ các tệp IMG.
Bây giờ nếu bạn xem nội dung của điểm gắn kết, bạn sẽ thấy tất cả các tệp trong tệp DMG.
Gỡ tệp DMG trên Linux
Các tệp hình ảnh đĩa được gắn tích cực chiếm tài nguyên hệ thống và không gian bộ nhớ có giá trị. Đừng quên ngắt kết nối các tệp ảnh đĩa sau mỗi lần sử dụng.
Để ngắt kết nối, sử dụng lệnh:
sudo umount /mount/point/location
Hãy nhớ rằng lệnh là số lượng và không ngắt kết nối.
Để kiểm tra xem việc ngắt kết nối có thành công hay không, chỉ cần ls hoặc cd vào vị trí điểm gắn kết.
Và vì hầu hết các bản phân phối Linux đều hỗ trợ các tệp IMG, nên bạn cũng có thể gắn tệp đó bằng GUI bằng cách nhấp chuột phải vào tệp và chọn tùy chọn gắn, đối với Linux Mint là Mở bằng Disk Image Mounter.
Như bạn có thể thấy, một biểu tượng gắn kết đã xuất hiện; bạn có thể sử dụng điều này để ngắt kết nối hình ảnh bằng cách nhấp chuột phải vào biểu tượng và chọn ngắt kết nối.
Nếu bạn nhìn vào vị trí điểm gắn kết, bạn sẽ thấy rằng các tệp hiện đã biến mất cho biết tệp hình ảnh đã được ngắt kết nối thành công.
Bạn có nên gắn hoặc giải nén trên Linux không?
Nếu bạn cần giải nén tệp từ tệp hình ảnh DMG, có một vài công cụ của bên thứ ba chẳng hạn như hfsprogs mà bạn có thể sử dụng để gắn tệp DMG trong Linux.
Nhưng nếu bạn chỉ cần giải nén nội dung ra khỏi tệp DMG, thì các công cụ giải nén như dmg2img và 7-Zip sẽ thực hiện công việc, mặc dù với khả năng hạn chế. Nếu bạn cần chỉnh sửa, xóa hoặc thêm bất kỳ tệp nào vào tệp DMG thì cách duy nhất là gắn đúng cách.
Cho dù bạn chọn gắn hoặc giải nén tệp DMG trên Linux, đôi khi cả hai phương pháp vẫn có thể không đáng tin cậy do sự khác biệt về hệ thống tệp, loại bản phân phối Linux bạn đang sử dụng và chính tệp DMG. Là phương án cuối cùng khả thi, giải nén tệp DMG trên máy ảo được cài đặt macOS có thể sẽ là giải pháp đáng tin cậy hơn.