왜`.dmg` 파일을 통해 소프트웨어를 설치합니까?


28

소프트웨어를 설치하려고 할 때 일반적으로 .dmg(Disk iMaGe) 파일을 다운로드 합니다. 이 .dmg파일을 열면이 파일은 "가상 디스크"라고 부르는 이름 (따라서 이름이 추정 됨)과 같으며 Finder아래에 나열되어 devices있습니다. 또한에 나열되어 Disk Utility아래 Disk Images그것을 삭제하거나 다른 디스크처럼 마운트 해제 할 수있는 것처럼 보인다.

  • 이러한 "가상 디스크"와 함께 소프트웨어를 설치해야하는 논리는 무엇입니까?
  • 왜 단순한 이진 파일로 제공되지 않습니까?

12
설치 소프트웨어는 항상 발생할 수 있습니다 거라고 m를 g의 전자.
디저트

1
간단한 이진 파일은 설치 프로그램입니다. DMG를 사용하면 설치 관리자를 실행하지 않고 응용 프로그램을 복사하기 만하면됩니다.
Thorbjørn Ravn Andersen

10
대부분의 Mac 응용 프로그램은 단일 파일처럼 보이지만 실제로는 "응용 프로그램 번들"이며 기본적으로 많은 파일이 들어있는 폴더입니다. Finder는 단일 엔티티로 표시하지만 마우스 오른쪽 단추로 클릭하고 "내용 열기"를 선택하여 내부 파일을 검사 할 수 있습니다. 따라서 "간단한 이진"이 작동하지 않습니다.
el.pescado


마지막 단락은 별도의 답변을 제공하므로 별도의 질문이어야합니다.
user151019

답변:


34

DMG에는 몇 가지 주요 기능이있어 일반 zip보다 우수합니다.

  • 그들은 전체 파일 시스템입니다 (즉, 파일 권한을 저장하고 사용자 정의 폴더 배경을 가질 수 있음을 의미합니다)
  • 마운팅하기 전에“필수”EULA를 지원하므로 합법적 인 제품에 적합합니다.
  • 보다 안정적인 실행 환경을 제공하십시오. 설치를 위해 절대 경로 작업을 수행해야하는 경우 (아마도 안 됨) DMG를 준비하고이를 읽기 전용으로 표시하고이를 사용하여 설치하십시오.

실제로 주요 기능은 전체 HFS + 파일 시스템을 지원한다는 것입니다. Zip (일반적으로 Linux 버전은 권한을 지원함)은 어리 석고 파일 및 폴더 번들링 만 지원합니다. 메타 데이터가없고 파일 만 있습니다.


14
추가 사항 : 10.12부터 .dmg 파일은 무결성을 위해 코드 서명 될 수 있습니다 (.zip 파일은 서명 된 코드를 포함 할 수 있지만 다운로드 후에도 지속될 수는 없습니다). 또한 "간단한 바이너리"옵션은 작동하지 않습니다. 대부분의 macOS 소프트웨어는 일반 파일이 아닌 복잡한 (숨겨진) 내부 구조를 가진 폴더 인 패키지로 제공되기 때문입니다.
Gordon Davisson

9
"우편은 멍청하고 지원 만 ..."-나는 그 평가에 동의하지 않습니다. 단순한 것이 멍청하다는 의미는 아닙니다. 단순성은 미덕이며 분산 설치 프로그램에서 값이 거의없는 (보이지 않는) 파일 메타 데이터는 거의 없습니다.
Dai

14
@Dai 그는 바보처럼 바보를 의미합니다. 이 프로그램은 무엇을하고 있는지 알지 못합니다-쓸모가 없습니다.
Tim

3
ZIP이 너무 좋은 비교가 아니라고 생각합니다. 압축 TAR과 같은 이유는 무엇 tar.gz입니까? 권한을 저장합니다.
Ruslan

2
@Dai, "분산 설치 프로그램에서 모든 값의 파일 메타 데이터는 (보이지 않는) 파일 메타 데이터는 거의 없습니다."-다른 많은 플랫폼에서는 사실이지만 Apple은 "리소스 포크"에 중요한 내용 (예 : 아이콘!)을 오랫동안 저장해 왔습니다. 요즘 xattrs).
Charles Duffy

3

Mac 소프트웨어는 .app응용 프로그램 번들 (기본적으로 모든 프로그램 리소스를 포함하는 폴더) 또는 .pkgWindows와 유사한 방식으로 응용 프로그램을 설치하는 프로그램 인 설치 프로그램으로 제공 될 수 있습니다.

명령 행 도구 만 일반 바이너리로 사용할 수 있으며 다음 PATH과 같은 사용자 어딘가에 복사 됩니다 /usr/local/bin.

이는 OS X / 맥 OS 디스크 이미지 (로 포장 될 수 .dmg등) 또는 기존의 아카이브 형식 .zip이나 .tar.


이러한 "가상 디스크"와 함께 소프트웨어를 설치해야하는 논리는 무엇입니까?

이것은 개발자에게 달려 있습니다. A .dmg는 설치 프로그램이 아닌 가상 하드 드라이브입니다. 를 사용하는 선택 .dmg은 설치보다는 포장에 관한 것입니다.

애플리케이션이 단순 .app번들 인 경우 자체 포함되어 있으며 두 번 클릭하여 실행할 수 있습니다. /Applications편의상 일반적으로 복사됩니다 .

개설시 암호화 및 EULA 외에도 .dmg아카이브 유형에 비해 이점 은 브랜딩입니다. .dmg사용자 정의 아이콘, 사용자 정의 배경 이미지 및 컨텐츠의 레이아웃을 지정할 수 있습니다. .dmg또한 일반적으로 읽기 전용이므로 내용은 개발자가 의도 한대로 그대로 유지됩니다.

또한 사용자가 응용 프로그램을 원하는 위치를 선택하도록합니다. 보관 파일의 압축을 풀면 일반적으로 보관 위치에 압축이 풀립니다. 반대로 .dmgs는 파일 시스템에 마운트 된 다음 .app번들을 명시 적으로 복사해야합니다.


왜 단순한 이진 파일로 제공되지 않습니까?

Mac 응용 프로그램은 단순한 이진 이상입니다. 이진 (에 위치 <appname>.app/Contents/MacOS/) 외에에 .app많은 리소스가 포함되어 <appname>.app/Contents/Resources/있습니다. 이러한 리소스에는 아이콘, 그래픽 및와 같은 현지화 파일이 포함됩니다 en.lproj.


2

소프트웨어 설치 이외의 .dmg 파일에 다른 용도가 있습니까?

DMG에 대한 또 다른 유용한 기능 (다른 용도로 물어 본 이후)은 암호화 된 저장 공간을 만들고 해당 보호 공간에 파일을 저장하는 기능입니다. 일부 파일은 보호하지만 전체 기본 하드 디스크는 암호화하지 않으려는 경우에 유용합니다.

참조 맥 OS 시에라을 위해 디스크 유틸리티 : 디스크 유틸리티를 사용하여 디스크 이미지를 생성 하여 암호화에 .dmg 파일을 만드는 방법에 대한 자세한 정보를 원하시면.


그러나 암호화는 이미 필요하지 않습니다 .dmg. 유닉스는 암호화하지 않습니까?
Pacerier

@ Pacerier-물론 Linux / Unix의 모든 것과 마찬가지로 여러 가지 방법이 있습니다.
Ken
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.