Como posso abrir um arquivo .dmg?

61

Eu tenho um arquivo .dmg e não consigo descobrir como abrir isto. Como posso abri-lo?

    
por jrg 29.04.2011 / 20:01

7 respostas

48

Instale o dmg2img .

Em seguida, leia a página de informações do pacote e o página de manual para ver se é útil para você.

O aplicativo parece converter .dmg em um arquivo que pode ser montado usando o comando mount :

dmg2img file.dmg imagefile.img

Do seu artigo da Wikipedia , o próximo comando parece estar disponível para fazer isso:

sudo mount -o loop -t hfsplus imagefile.img /mnt

Dessa forma, o arquivo imagefile.img é um resultado de dmg2iso e o conteúdo estará disponível em /mnt . Se o tipo hfsplus não for detectado, talvez seja necessário carregar o módulo do kernel para ele:

sudo modprobe hfsplus

Quando terminar, você poderá desmontá-lo executando:

sudo umount /mnt
    
por Lekensteyn 29.04.2011 / 20:11
35

Para extraí-lo, é muito mais fácil usar o 7zip. Basta fazer:

7z x file.dmg
    
por rumpel 15.02.2013 / 10:19
29

Isso funciona para mim:

  • Extrair usando 7z x
  • Localize o arquivo de partição hfs
  • Monte-o em um diretório

Extraia usando 7z x

root # aptitude install p7zip-full
root # 7z x ../mysql-5.5.28-osx10.6-x86_64.dmg 

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: ../mysql-5.5.28-osx10.6-x86_64.dmg

Extracting  0.MBR
Extracting  1.Primary GPT Header
Extracting  2.Primary GPT Table
Extracting  3.free
Extracting  4.hfs
Extracting  5.free
Extracting  6.Backup GPT Table
Extracting  7.Backup GPT Header

Everything is Ok

Files: 8
Size:       125475840
Compressed: 117543935
root # ls
0.MBR  1.Primary GPT Header  2.Primary GPT Table  3.free  4.hfs  5.free  6.Backup GPT Table  7.Backup GPT Header

Localize a partição hfs (aqui está o arquivo 4.hfs ):

root # ls -l
total 122548
-rw-r--r-- 1 root root       512 Feb  5 16:06 0.MBR
-rw-r--r-- 1 root root       512 Feb  5 16:06 1.Primary GPT Header
-rw-r--r-- 1 root root     16384 Feb  5 16:06 2.Primary GPT Table
-rw-r--r-- 1 root root      3072 Feb  5 16:06 3.free
-rw-r--r-- 1 root root 125435904 Feb  5 16:06 4.hfs
-rw-r--r-- 1 root root      2560 Feb  5 16:06 5.free
-rw-r--r-- 1 root root     16384 Feb  5 16:06 6.Backup GPT Table
-rw-r--r-- 1 root root       512 Feb  5 16:06 7.Backup GPT Header

Monte-o na pasta:

root # mkdir t
root # mount -oloop 4.hfs t
root # cd t/
root # ls
mysql-5.5.28-osx10.6-x86_64.pkg  MySQL.prefPane  MySQLStartupItem.pkg  ReadMe.txt
    
por tuxdna 05.02.2014 / 12:11
6

Se você conseguir com as instruções de Lekensteyn e binfalse mais poder para você. Se você está recebendo

$ lsmod | grep hfs
hfs                    54782  0 
hfsplus                84912  0
$ sudo mount -o loop,ro -t hfsplus imagefile.img /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,

Neste momento, o Ubuntu só vem com a versão 1.6.2 do dmg2img e a versão 1.6.4 faz diferença. Também você pode extrair partições específicas de um dmg e apenas algumas delas são hfs +

$ dmg2img -l file.dmg
partition 0: Protective Master Boot Record (MBR : 0)
partition 1: GPT Header (Primary GPT Header : 1)
partition 2: GPT Partition Data (Primary GPT Table : 2)
partition 3:  (Apple_Free : 3)
partition 4: disk image (Apple_HFS : 4)
partition 5:  (Apple_Free : 5)
partition 6: GPT Partition Data (Backup GPT Table : 6)
partition 7: GPT Header (Backup GPT Header : 7)
$ dmg2img -p 4 file.dmg imagefile.img
  • As versões atuais do Ubuntu vêm com o 1.6.5 a partir da versão 14.04
por user107033 22.12.2012 / 02:37
3

Ao usar dmg2img file.dmg imagefile.img no linux se você obtiver ERRO: mensagem de falha de inflação, basta instalar o 7zip como

sudo aptitude install p7zip-full

e emita o seguinte comando no terminal

7z x your_file.dmg
- encontre o InstallMacOSX.pkg / InstallESD.dmg
- emita o comando dmg2img InstallESD.dmg imagefile.img no terminal. Agora você pode montar o imagefile.img com

modprobe hfsplus

e depois

mount -t hfsplus -o loop mountain.img /mnt
    
por aman 07.05.2014 / 10:22
2

Primeiro, instale DMG2IMG . Agora você pode convertê-lo em IMG :

dmg2img your.dmg new.img 

O IMG pode ser montado com:

sudo modprobe hfsplus
sudo mount -t hfsplus -o loop new.img /mnt

E dê uma olhada em /mnt

    
por binfalse 29.04.2011 / 20:09
1

seguindo a resposta de @aman e @tuxdna, porque dmg2img parece não funcionar em imagens de dmg comprimido.

então eu fiz um script bash (testado no ubuntu 14.10) para automatizar o processo de:

  • extraindo com 7z em uma pasta temporária
  • procurando qual partição montar
  • copie a pasta / partição hfs / hfsplus para outro lugar
  • elimine a pasta temporária
  • monte a partição

encontre-o aqui: link

exemplo de uso:

[email protected]:[~/scripts]: mountdmg.sh -t hfsplus -d /mnt ~/Downloads/cutecom-ng.dmg 

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: /home/panty/Downloads/cutecom-ng.dmg

Extracting  0.MBR
Extracting  1.Primary GPT Header
Extracting  2.Primary GPT Table
Extracting  3.free
Extracting  4.hfs
Extracting  5.free
Extracting  6.Backup GPT Table
Extracting  7.Backup GPT Header

Everything is Ok

Files: 8
Size:       33549312
Compressed: 10059312
mountdmg.sh: successfully mounted 4.hfs on /dev/loop0
mountdmg.sh: run sudo umount /dev/loop0 when finished
    
por arainone 02.08.2015 / 17:04