Å åpne bildefiler på Linux er ofte en enkel prosess. DMG-filer er imidlertid litt mer kompliserte siden Linux ikke støtter denne typen filer så vel som filsystemet de bruker. Men hvis du bare trenger å trekke ut en DMG-fil for å se og kopiere innholdet til Linux-maskinen din, er det noen få løsninger.
La oss først snakke om hva en DMG-fil er og hvorfor Linux-baserte systemer har vanskeligere for å åpne dem sammenlignet med bildefiler som ISO.
Hva er en DMG-fil?
I motsetning til bildefiler på tvers av plattformer som ISO og IMG, er DMG-filer kun ment å brukes av en Mac. Dette er fordi DMG-filer er proprietære diskbildefilformater laget av Apple for å dele og distribuere filer og programvare for produktene deres.
En diskbildefil er en type fil som fungerer som en fysisk platestasjon. Disse typer filer klones fra faktiske harddisker og gir en "byte-per-byte" kopi av alle dataene som er lagret.
Diskbildefiler som DMG brukes ofte til å distribuere programvare siden utviklere enkelt kan lage en bildefil av deres nåværende miljø med alle dens avhengigheter og distribuer programvaren som en pakke.
Dette gjør det enklere for brukere å installere programvaren siden alle avhengigheter, konfigurasjoner og filer allerede er tilstede akkurat som hvordan utviklerne har det på maskinene sine.
Hvorfor du kanskje vil pakke ut en DMG-fil på Linux
Selv om DMG-filformatet ble laget for å distribuere Apple-programvare, brukes det også som en måte å lage sikkerhetskopier, arkivere miljøer på og dele alle typer medier i en pent komprimert pakke.
Og siden macOS allerede kommer med et innebygd DMG-opprettingsverktøy, vil Mac-brukere sannsynligvis bruke DMG i stedet for andre diskbildefilformater som ISO.
Siden ikke alle bruker en Mac, kan det vise seg å være problematisk å pakke ut en DMG-bildefil utenfor en Mac-enhet. Så hvorfor trekke ut en slik fil på Linux?
I følge Statista, tar Mac-en rundt 17 % av det amerikanske PC-markedet, som rangerer det som det nest mest populære personlige datasystemet. Det er mange som bruker en Mac, noe som også betyr at flere bruker DMG for å komprimere og dele filene sine.
Så å ha en venn eller familie som sender deg en DMG-fil er ikke så uvanlig som folk kanskje tror. Selvfølgelig kan det også være andre grunner til at en Linux-bruker ønsker å trekke ut en DMG-fil på systemet sitt.
Problemet med å pakke ut DMG-filer i Linux
Siden det er et proprietært bildeformat, er DMG-filer vanskeligere å montere og pakke ut på Linux siden det ikke offisielt støtter bruk av DMG.
Siden de fleste Linux-distroer bruker utvidbare filsystemer som ext2, ext3 og ext4, vil montering av et HFS- eller HFS+-bilde på Linux føre til inkompatibilitet.
Selv om disse problemene gjør det vanskeligere å pakke ut DMG-filer utenfor en Mac, er det noen få løsninger for å pakke ut filer i Linux.
Hvordan pakke ut DMG-filer i Linux
Det største problemet med å pakke ut en DMG-fil på Linux er at montering av en vil resultere i en dårlig filsystemfeil. For å montere en DMG, må du installere et verktøy kjent som "hfsprogs”. Dette kommandolinjeverktøyet er en port fra Apples HFS hdiutil verktøy som gjør at systemet deres kan montere HFS-type bilder.
Ved å installere hfsprogs, vil Linux-maskinen din være i stand til å montere HFS-type bilder som DMG.
Før du installerer hfsprogs, sørg for å oppdater pakkene på datamaskinen din.
Installer nå hfsprogs på Ubuntu/Debian ved å bruke:
sudo apt install hfsprogs
På Arch Linux, installer hfsprogs fra AUR ved å bruke yay:
yay -S hfsprogs
På Fedora, CentOS og RHEL, bruk:
dnf installer hfsplus-verktøy
For å montere DMG-bildefilen, la oss lage et nytt monteringspunkt ved å lage en ny katalog:
sudo mkdir /mnt/mntpoint
La oss montere DMG-filen ved å kjøre:
sudo mount -t hfsplus /dmg/location/Image.dmg /mount/mntpoint
Det bør montere DMG-bildefilen på en vellykket måte. Men i dette tilfellet har vi blitt bedt om en feil filsystemtypefeil.
Når du kjører følgende kommando, kan du se at verktøyet gir en dårlig filsystemfeil fordi DMG er komprimert. Linux liker spesielt ikke å montere komprimerte bildefiler.
filen image.dmg
Få tilgang til komprimerte DMG-filer
For å løse problemet, la oss bruke et verktøy kjent som dmg2img. Dette verktøyet vil konvertere og dekomprimere DMG-filen til en IMG-fil.
For å installere dmg2img på Ubuntu/Debian, kjør:
sudo apt installer dmg2img
På Arch Linux:
sudo pacman -S dmg2img
På RPM-baserte distroer, bruk:
sudo dnf installer dmg2img
For å bruke dmg2img bruk:
dmg2img image.dmg
dmg2img vil nå komprimere og konvertere DMG til en IMG-fil. La oss prøve å montere bildefilen ved å bruke:
sudo mount /img/file/location/image.img /mount/point/location
Merk at du ikke lenger trenger å bruke -t hfsplus alternativet i kommandoen siden Linux naturlig støtter IMG-filer.
Hvis du nå ser innholdet i monteringspunktet, bør du se alle filene i DMG-filen.
Avmontering av DMG-filer på Linux
Monterte platebildefiler tar aktivt opp systemressurser og verdifull minneplass. Ikke glem å demontere diskbildefiler etter hver bruk.
For å avmontere, bruk kommandoen:
sudo umount /mount/point/location
Husk at kommandoen er umount og ikke avmontere.
For å sjekke om avmonteringen var vellykket, bare ls eller cd til monteringspunktet.
Og siden de fleste Linux-distribusjoner støtter IMG-filer, bør du også kunne montere den ved å bruke GUI ved å høyreklikke på filen og velge monteringsalternativet, som for Linux Mint er Åpne med Disk Image Mounter.
Som du kan se, har et monteringsikon dukket opp; du kan bruke dette til å demontere bildet ved å høyreklikke på ikonet og velge Demonter.
Hvis du ser på monteringspunktet, vil du se at filene nå er borte, noe som indikerer at bildefilen ble avmontert.
Bør du montere eller pakke ut på Linux?
Hvis du trenger å trekke ut filer fra en DMG-bildefil, er det noen få tredjepartsverktøy som hfsprogs som du kan bruke til å montere DMG-filer i Linux.
Men hvis du bare trenger å trekke ut innholdet fra DMG-filen, bør pakkeverktøy som dmg2img og 7-Zip gjøre jobben, om enn med begrensede muligheter. Hvis du trenger å redigere, slette eller legge til filer i DMG-filen, er riktig montering den eneste måten.
Enten du velger å montere eller pakke ut en DMG-fil på Linux, kan begge metodene fortsatt være upålitelige på ganger på grunn av forskjellen i filsystemer, typen Linux-distro du bruker og DMG-filen seg selv. Som en levedyktig siste utvei vil det sannsynligvis være en mer pålitelig løsning å pakke ut DMG-filen på en VM installert med macOS.