
Đăng ngày 27 tháng 3, 2023, 9:00 AM EDT
Jayric là cử nhân Khoa học Pháp y với hơn 5 năm kinh nghiệm viết lách và đam mê kỹ thuật reverse engineering cũng như phần cứng.
Hành trình công nghệ của anh bắt đầu từ thuở nhỏ với chiếc Nokia N91 cũ, nơi anh đóng gói lại các game Java như bản port Pokémon Blue trên Symbian để chỉnh sửa TM và Poké Dollars. Đến cấp 3, anh đã flash custom ROM Android và đổi game mod để kiếm tiền ăn trưa. Thời đại học, anh học C/C++ và điện tử trên board TI Tiva C LaunchPad, sau đó tự làm các dự án DIY từ USB security key đến thiết bị tự động hóa nhà.
Hiện Jayric thích viết tại MUO để chia sẻ và học hỏi về công nghệ, đồng thời trau dồi nghề nghiệp. Ngoài công nghệ, anh thích chơi CS2, Dragon Nest, tập gym, chạy 5km hàng ngày và đọc sách trong nhà kính.
DMG là loại file ảnh do Apple phát triển để phân phối phần mềm cho macOS. Định dạng này cũng phục vụ như cách người dùng Mac nén và lưu trữ file. Vì macOS và Linux có sự tương đồng dưới lớp vỏ, có thể mount thậm chí chạy một số app macOS trên Linux.
Nếu bạn dùng Ubuntu và có file DMG muốn mở, cách dễ nhất là chuyển DMG sang file ISO. Cách này bạn có thể mount file giống như bất kỳ file ISO nào trên Ubuntu.
Cách chuyển DMG sang ISO trên Ubuntu
Để chuyển đổi thành công file DMG sang ISO, trước tiên cần chuyển DMG sang file IMG. Chúng ta dùng công cụ dòng lệnh dmg2img.
Hãy bắt đầu bằng cách mở terminal và cài chương trình bằng lệnh sau:
sudo apt install dmg2img
Sau khi cài, dùng công cụ chuyển file DMG sang IMG bằng:
dmg2img /dmg/file/locaton/file.dmg
Bây giờ bạn có file IMG mountable, ta dùng Brasero chuyển file IMG sang ISO. Nhưng trước đó, cần mount file IMG để Brasero thấy nó.
Hãy mount IMG bằng cách tạo mount point. Dùng lệnh:
sudo mkdir /directory/location/mount_point
Mặc dù DMG đã chuyển sang IMG, nội dung bên trong file ảnh vẫn cấu hình theo filesystem HFS+ của Apple. Giải pháp là dùng:
sudo modprobe hfsplus
Bây giờ sẵn sàng mount IMG trên Ubuntu. Dùng lệnh sau:
sudo mount -t hfsplus -o loop /img/file/location/file.img /mount/point/location
Với file IMG đã mount, ta dùng Brasero chuyển file sang ISO.
Cài Brasero bằng cách mở terminal và dùng:
sudo apt install brasero
Sau cài đặt, mở Brasero và nhấp Data project. Sau đó nhấp biểu tượng plus góc trên trái, mở menu chọn file mount để chuyển. Tiến hành chọn và Add thư mục mount point nơi file IMG được mount.
Sau khi thêm, nhấp Burn và chọn thư mục output. Bạn cũng có thể đổi tên output qua trường ở đầu cửa sổ. Sau đó, nhấp Create Image chuyển file ảnh sang ISO.
Chúc mừng! Bạn đã chuyển đổi thành công DMG sang ISO.
Cách mount file ISO trên Ubuntu
Vì ISO được Ubuntu hỗ trợ gốc, bạn dễ dàng mount và xem toàn bộ nội dung.
Để mount ISO trên Ubuntu, trước tiên tạo thư mục mount point để mount file ảnh.
Hãy tạo mount point và thêm module HFS+ bằng:
sudo mkdir /mount/point/location/foldernamesudo modprobe hfsplus
Bây giờ đã có thư mục mount point, hãy mount ISO bằng:
sudo mount -t hfsplus -o loop /iso/file/location/file.iso /mount/point/location
ISO đã mount, bạn có thể xem toàn bộ nội dung file ảnh.
Để unmount ISO, dùng lệnh:
sudo umount /mount/point/location/folder
Cách xem nội dung DMG qua p7zip
Thường DMG được nén để tiết kiệm dung lượng và băng thông. Lúc này, bạn dễ dàng duyệt toàn bộ nội dung DMG bằng cách giải nén file ảnh. Điều này tiết kiệm thời gian nếu chỉ cần duyệt và lấy nội dung từ DMG.
Để giải nén file ảnh, ta dùng công cụ p7zip. Mặc dù bạn có thể dùng và cài port 7-Zip chính thức trên Linux, ta dùng p7zip vì đơn giản hơn. Cả p7zip và 7-Zip Linux đều là port cho phần mềm 7-zip phổ biến trên Windows. Nhưng khác 7-zip, p7zip không có GUI và chỉ hoạt động qua CLI.
Để cài p7zip trên Ubuntu, mở terminal và dùng:
sudo apt install p7zip
Sau cài, giải nén nội dung file DMG nén bằng:
7z x file.dmg
Vậy là xong! Bây giờ bạn có thể duyệt toàn bộ nội dung trong DMG mà không cần chuyển đổi hoặc mount DMG.
Có thể cài phần mềm DMG trên Ubuntu không?
Chúng ta đã xem cách chuyển, mount, duyệt DMG trên Ubuntu. Nảy sinh câu hỏi: có chạy ứng dụng DMG trên Ubuntu không?
Vì macOS và Linux đều dùng bash shell và hỗ trợ nhiều tiện ích Unix, có thể chạy phần mềm DMG (macOS) trên Linux.
Tuy nhiên, sẽ có thách thức lớn, như khác biệt filesystem. Linux cũng có thể thiếu gói và phụ thuộc phần mềm yêu cầu, cộng với ít hỗ trợ từ dev và cộng đồng.
Có ứng dụng bên thứ ba mới nổi giúp chạy app macOS trên Linux. Ví dụ Darling, chương trình mã nguồn mở đóng vai trò lớp tương thích cho app macOS chạy trên Linux. Giống Wine, nhưng cho chương trình macOS thay vì Windows.
Vì vậy, có, nếu bạn dành thời gian cấu hình đúng DMG dùng ứng dụng bên thứ ba, bạn có thể chạy app macOS không sửa đổi trên Linux.
Nhưng chạy DMG trên Linux không dùng ứng dụng bên thứ ba rất khó, trừ khi bạn tự port phần mềm.
DMG khó xử lý trên Linux
Chúc mừng! Mặc dù quy trình hơi phức tạp, bạn đã biết cách mount và chuyển hầu hết file DMG sang ISO trên Ubuntu. Nếu biết DMG chỉ chứa file media, bạn có thể bỏ qua mount/chuyển đổi và giải nén nội dung qua p7zip hoặc 7-ZIP.
Nếu định chạy app macOS trong DMG không sửa đổi, bạn phải tìm phần mềm như Darling làm lớp tương thích. Chưa có cách ổn định chạy app macOS không sửa đổi trong Linux, nhưng công việc đang tiến triển.