.dmg 파일을 어떻게 열 수 있습니까?


75

.dmg 파일 이 있는데 파일을 여는 방법을 알 수 없습니다. 어떻게 열 수 있습니까?

답변:


53

dmg2img를dmg2img 설치 설치 하십시오 .

다음으로, 패키지 정보 페이지매뉴얼 페이지 를 읽고 유용한 지 확인하십시오.

응용 프로그램은 .dmg를 다음 mount명령을 사용하여 마운트 할 수있는 파일로 변환하는 것 같습니다 .

dmg2img file.dmg imagefile.img

당신의에서 위키 백과 문서 , 다음 명령은 그렇게 할 수있을 것 같다 :

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

이러한 방식으로 파일 imagefile.img은의 결과 dmg2iso이며에서 컨텐츠를 사용할 수 있습니다 /mnt. hfsplus 유형이 감지되지 않으면 커널 모듈을로드해야합니다.

sudo modprobe hfsplus

완료되면 다음을 실행하여 마운트를 해제 할 수 있습니다.

sudo umount /mnt

dmg 파일에 10.6+ 압축 파일이 있으면 작동하지 않습니다.
HDave

5
이 오류가 발생합니다 –mount: wrong fs type, bad option, bad superblock on /dev/loop0
tuxdna

1
@tuxdna 정말로 HFS 이미지가 있습니까? 의 출력을 확인하십시오 file file.dmg. 7z l file.dmg내용을 나열 할 수도 있습니다 .
Lekensteyn

사용하고 dmg2img v1.6.2있습니다. 나는 mysql-5.5.28-osx10.6-x86_64.dmg생성 된 dmg2img를 실행 mysql-5.5.28-osx10.6-x86_64.img했지만 마운트되지 않았습니다.
tuxdna

트윗 담아 가기 이제 작동합니다. 아래에서 내 대답을 확인하십시오.
tuxdna

45

압축을 풀면 7zip을 사용하는 것이 훨씬 쉽습니다. 간단히 :

7z x file.dmg

7
덕분에 7z작업했던 반면, dmg2img손상된 데미지 이미지에 대해 불평했다.
rinni 2016 년

3
7Z가 암호화되지 않은 데미지 이미지에만 작동합니다
VOG

이것은 방금 0.unknown partition나를 위해 파일을 만들었 습니다.
Aaron Franke

31

이것은 나를 위해 작동합니다 :

  • 를 사용하여 추출 7z x
  • hfs파티션 파일을 찾으십시오
  • 디렉토리에 마운트

를 사용하여 추출 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

hfs파티션을 찾으십시오 (여기서 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

폴더에 마운트하십시오.

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

추출 할 단일 파일을 지정할 수 있습니다.7z x ../mysql-5.5.28-osx10.6-x86_64.dmg 4.hfs
Lekensteyn

8

당신이 Lekensteyn의 지시에 성공하고 당신에게 더 많은 힘을 binfalse 경우. 당신이 받고 있다면

$ 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,

현재 우분투는 dmg2img 버전 1.6.2와 함께 제공되며 버전 1.6.4는 때때로 차이를 만듭니다. 또한 dmg에서 특정 파티션을 추출 할 수 있으며 그 중 일부만 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
  • 현재 Ubuntu 버전은 14.04 버전에서 1.6.5로 제공됩니다.

4

dmg2img file.dmg imagefile.img리눅스에서 사용할 때 ERROR : Inflation failed 메시지가 표시되면 7zip을 다음 과 같이 설치하십시오.

sudo aptitude install p7zip-full

터미널에서 다음 명령을 발행하십시오.

7z x your_file.dmg
  • InstallMacOSX.pkg / InstallESD.dmg를 찾으십시오.
  • dmg2img InstallESD.dmg imagefile.img터미널 에서 명령 을 발행하십시오 .

이제 imagefile.img를 마운트 할 수 있습니다

modprobe hfsplus

그리고

mount -t hfsplus -o loop mountain.img /mnt

3

우선 DMG2IMG를 설치 하십시오 . 이제 다음으로 변환 할 수 있습니다 IMG.

dmg2img your.dmg new.img 

다음 IMG과 같이 장착 할 수 있습니다.

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

그리고보세요 /mnt


2

의 경우 일부 또는 의 결과를 .dmg얻을 수 없습니다 .7z xmountdmg2img

이 경우의 .img결과는 다음으로 dmg2img your.dmg new.img추출 할 수 있습니다 7z x.

$ 7z x factor-macosx-x86-64-0.98.dmg
[...]
Extracting archive: factor-macosx-x86-64-0.98.dmg
ERROR: factor-macosx-x86-64-0.98.dmg
factor-macosx-x86-64-0.98.dmg
Open ERROR: Can not open the file as [Dmg] archive

$ dmg2img factor-macosx-x86-64-0.98.dmg factor.img
[...]
factor-macosx-x86-64-0.98.dmg --> factor.img
[...]
Archive successfully decompressed as factor.img

$ sudo mount -o loop -t hfsplus factor.img /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop5, missing codepage or helper program, or other error.

$ 7z x factor.img 

[...]
Extracting archive: factor.img
[...]
Everything is Ok                                

Folders: 2717
Files: 10266
Size:       176431113
Compressed: 264214528

$ ls -lah factor factor/factor/
factor:
total 24K
drwx------  6 cat cat 4.0K Jul 30  2018  .
drwxr-xr-x 21 cat cat 4.0K Feb 19 16:28  ..
drwx------  8 cat cat 4.0K Jul 30  2018  factor
drwx------  2 cat cat 4.0K Jul 30  2018 '[HFS+ Private Data]'
drwx------  2 cat cat 4.0K Jul 30  2018 '.HFS+ Private Directory Data'$'\r'
drwx------  2 cat cat 4.0K Jul 30  2018  .Trashes

factor/factor/:
total 97M
drwx------   8 cat cat 4.0K Jul 30  2018 .
drwx------   6 cat cat 4.0K Jul 30  2018 ..
drwx------ 163 cat cat 4.0K Jul 30  2018 basis
drwx------  45 cat cat 4.0K Jul 30  2018 core
-rw-r--r--   1 cat cat  702 Jul 30  2018 .dir-locals.el
drwx------ 288 cat cat  12K Jul 30  2018 extra
-rw-r--r--   1 cat cat   32 Jul 30  2018 factor
drwx------   3 cat cat 4.0K Jul 30  2018 Factor.app
-rw-r--r--   1 cat cat  97M Jul 30  2018 factor.image
-rw-r--r--   1 cat cat   40 Jul 30  2018 .gitattributes
-rw-r--r--   1 cat cat   43 Jul 30  2018 git-id
-rw-r--r--   1 cat cat 366K Jul 30  2018 libfactor.dylib
-rw-r--r--   1 cat cat  16K Jul 30  2018 libfactor-ffi-test.dylib
-rw-r--r--   1 cat cat 1.3K Jul 30  2018 LICENSE.txt
drwx------   9 cat cat 4.0K Jul 30  2018 misc
-rw-r--r--   1 cat cat 4.6K Jul 30  2018 README.md
-rw-r--r--   1 cat cat 3.6K Jul 30  2018 .travis.yml
drwx------   2 cat cat 4.0K Jul 30  2018 work

성공!


여러 답변 7z에서 dmg 파일을 직접 사용 하는 것이 좋습니다 . 그렇다면 왜 변환해야합니까?
Olorin

@Olorin은로 7z x your.dmg실패하고 의 출력이 허용되지 않을 Can't open as archive: 1때를 위한 dmg2imgmount입니다. 나는 명확히 할 것이다
고양이

1

dmg2img는 압축 된 dmg 이미지에서 작동하지 않기 때문에 @aman 및 @tuxdna의 답변을 따르십시오.

그래서 나는 프로세스를 자동화하기 위해 bash 스크립트 (ubuntu 14.10에서 테스트 됨)를 만들었습니다.

  • 임시 폴더에서 7z로 추출
  • 마운트 할 파티션을 찾고
  • hfs / hfsplus 폴더 / 파티션을 다른 곳에 복사
  • 임시 폴더 삭제
  • 파티션을 마운트

여기에서 찾으십시오 : https://github.com/aurelien-rainone/scripts/blob/master/mountdmg.sh

사용 예 :

panty@Computerino:[~/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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.