Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Att öppna bildfiler på Linux är ofta en enkel process. DMG-filer är dock lite mer komplicerade eftersom Linux inte har stöd för dessa typer av filer samt filsystemet de använder. Men om du bara behöver extrahera en DMG-fil för att se och kopiera dess innehåll till din Linux-maskin, finns det några lösningar.

Låt oss först prata om vad en DMG-fil är och varför Linux-baserade system har svårare att öppna dem jämfört med bildfiler som ISO.

Vad är en DMG-fil?

Till skillnad från plattformsoberoende bildfiler som ISO och IMG, är DMG-filer endast avsedda att användas av en Mac. Detta beror på att DMG-filer är proprietära skivbildsfilformat som skapats av Apple för att dela och distribuera filer och programvara för deras produkter.

En skivavbildsfil är en typ av fil som fungerar som en fysisk skivenhet. Dessa typer av filer klonas från faktiska hårddiskar och ger en "byte-per-byte" kopia av all lagrad data.

Skivbildsfiler som DMG används ofta för att distribuera programvara eftersom utvecklare enkelt kan skapa en bildfil av deras nuvarande miljö med alla dess beroenden och distribuera programvaran som en paket.

Detta gör det lättare för användare att installera programvaran eftersom alla beroenden, konfigurationer och filer redan finns på samma sätt som utvecklarna har det på sina maskiner.

Varför du kanske vill extrahera en DMG-fil på Linux

Även om DMG-filformatet skapades för att distribuera Apple-programvara, används det också som ett sätt att göra säkerhetskopior, arkivera miljöer och dela alla typer av media i ett snyggt komprimerat paket.

Och eftersom macOS redan kommer med ett inbyggt verktyg för att skapa DMG, kommer Mac-användare sannolikt att använda DMG istället för andra skivavbildsfilformat som ISO.

Eftersom inte alla använder en Mac kan det visa sig vara problematiskt att extrahera en DMG-bildfil utanför en Mac-enhet. Så varför extrahera en sådan fil på Linux?

Enligt Statista, tar Mac cirka 17 % av den amerikanska PC-marknaden, vilket rankar den som det näst mest populära persondatorsystemet. Det är många som använder en Mac, vilket också innebär att fler använder DMG för att komprimera och dela sina filer.

Så att en vän eller familj skickar en DMG-fil till dig är inte så ovanligt som folk kanske tror. Naturligtvis kan det också finnas andra anledningar till varför en Linux-användare skulle vilja extrahera en DMG-fil på sitt system.

Problemet med att extrahera DMG-filer i Linux

Eftersom det är ett proprietärt bildformat är DMG-filer svårare att montera och extrahera på Linux eftersom det inte officiellt stöder användningen av DMG.

Eftersom de flesta Linux-distros använder utökningsbara filsystem som ext2, ext3 och ext4, kommer montering av en HFS- eller HFS+-bild på Linux att leda till inkompatibiliteter.

Även om dessa problem gör det svårare att extrahera DMG-filer utanför en Mac, finns det några lösningar för att framgångsrikt extrahera filer i Linux.

Hur man extraherar DMG-filer i Linux

Det största problemet med att extrahera en DMG-fil på Linux är att montering av en kommer att resultera i ett dåligt filsystemfel. För att lyckas montera en DMG måste du installera ett verktyg som kallas "hfsprogs”. Detta kommandoradsverktyg är en port från Apples HFS hdiutil verktyg som gör att deras system kan montera bilder av HFS-typ.

Genom att installera hfsprogs kommer din Linux-maskin att kunna montera bilder av HFS-typ som DMG.

Innan du installerar hfsprogs, se till att uppdatera paketen på din dator.

Installera nu hfsprogs på Ubuntu/Debian med:

sudo apt installera hfsprogs

På Arch Linux, installera hfsprogs från AUR med yay:

yay -S hfsprogs

På Fedora, CentOS och RHEL, använd:

dnf installera hfsplus-tools

För att montera DMG-bildfilen, låt oss skapa en ny monteringspunkt genom att skapa en ny katalog:

sudo mkdir /mnt/mntpoint

Låt oss montera DMG-filen genom att köra:

sudo mount -t hfsplus /dmg/location/Image.dmg /mount/mntpoint

Det bör montera DMG-bildfilen framgångsrikt. Men i det här fallet har vi fått ett fel i filsystemstyp.

När du kör följande kommando kan du se att verktyget ger ett dåligt filsystemfel eftersom DMG är komprimerad. Linux gillar särskilt inte att montera komprimerade bildfiler.

filen image.dmg

Åtkomst till komprimerade DMG-filer

För att lösa problemet, låt oss använda ett verktyg som kallas dmg2img. Detta verktyg kommer att konvertera och dekomprimera DMG-filen till en IMG-fil.

För att installera dmg2img på Ubuntu/Debian, kör:

sudo apt installera dmg2img

På Arch Linux:

sudo pacman -S dmg2img

På RPM-baserade distros, använd:

sudo dnf installera dmg2img

För att använda dmg2img använd:

dmg2img image.dmg

dmg2img kommer nu att komprimera och konvertera DMG till en IMG-fil. Låt oss försöka montera bildfilen genom att använda:

sudo mount /img/file/location/image.img /mount/point/location 

Observera att du inte längre behöver använda -t hfsplus alternativet i kommandot eftersom Linux inbyggt stöder IMG-filer.

Om du nu ser innehållet i monteringspunkten bör du se alla filer i DMG-filen.

Avmontering av DMG-filer på Linux

Monterade skivavbildningsfiler tar aktivt upp systemresurser och värdefullt minnesutrymme. Glöm inte att avmontera skivavbildningsfiler efter varje användning.

För att avmontera, använd kommandot:

sudo umount /mount/point/plats

Tänk på att kommandot är umount och inte avmontera.

För att kontrollera om avmonteringen lyckades, ls eller cd till monteringspunktens plats.

Och eftersom de flesta Linux-distributioner stöder IMG-filer, bör du också kunna montera den med hjälp av GUI genom att högerklicka på filen och välja monteringsalternativet, vilket för Linux Mint är Öppna med Disk Image Mounter.

Som du kan se har en monteringsikon dykt upp; du kan använda detta för att avmontera bilden genom att högerklicka på ikonen och välja Avmontera.

Om du tittar på platsen för monteringspunkten, skulle du se att filerna nu är borta, vilket indikerar att bildfilen har avmonterats.

Ska du montera eller packa upp på Linux?

Om du behöver extrahera filer från en DMG-bildfil finns det några tredjepartsverktyg som hfsprogs som du kan använda för att montera DMG-filer i Linux.

Men om du bara behöver extrahera innehållet ur DMG-filen, bör uppackningsverktyg som dmg2img och 7-Zip göra jobbet, om än med begränsade möjligheter. Om du behöver redigera, ta bort eller lägga till filer till DMG-filen, är korrekt montering det enda sättet.

Oavsett om du väljer att montera eller packa upp en DMG-fil på Linux, kan båda metoderna fortfarande vara opålitliga på gånger på grund av skillnaden i filsystem, vilken typ av Linux-distro du använder och DMG-filen sig. Som en gångbar sista utväg kommer att extrahera DMG-filen på en virtuell dator installerad med macOS sannolikt vara en mer pålitlig lösning.