.deb 파일과 .run 파일의 차이점 .deb 파일 만들기 와 설치 및

.deb 파일 만들기 와 설치 및 .run 파일 실행 의 차이점은 무엇입니까 ?



답변

.deb파일은 하위 레벨 데비안 패키지 관리자 인 dpkg 용 패키지입니다 (APT 및 그 친척이 후드에서 호출 함). .deb파일은 데비안이나 우분투 나 민트 등의 파생 상품 등을위한 패키지입니다.

데비안 패키지에는 패키지의 의존성 및 기타 메타 정보를 설명하는“제어 파일”뿐만 아니라 패키지에 속하는 파일과 패키지를 설치, 업그레이드 또는 제거 할 때 실행되는 설치 스크립트가 들어 있습니다.

및 로 .deb파일 내용을 볼 수 있습니다 . 이 없으면 파일 의 부분을 나열하고 부분 을 추출하는 데 사용할 수 있습니다 (다른 부분과 유사).dpkg -cdpkg -Idpkgar t foo.deb.debar x foo.deb control.tar.gzcontrol.tar.gz

Red Hat (및 CentOS 및 Fedora와 같은 친척), SuSE 및 기타 업체 는 비슷한 특성을 가진 다른 형식 인 rpm을 사용 합니다. 다른 유닉스 시스템 에는 다른 것들이 있습니다.

.run표준 확장이 아닙니다. .run파일은 아마 당신이 실행할 수있는 무언가이다. 프로그램을 설치하거나 완전히 다른 것을 할 수 있습니다.


답변

일반적으로 .deb 파일은 zip 파일과 유사합니다.이 파일은 설치 후 시스템에 사용자, 그룹 등을 추가하기 위해 설치 후 실행할 수있는 짧은 스크립트와 함께 파일을 포함합니다.

.run 파일은 일반적으로 단일 이진 실행 파일이거나 설치할 수있는 이진 BLOB이 포함 된 셸 스크립트입니다. 쉘 스크립트의 다양성이라면 종종 재귀 zip 파일 또는 tar 파일과 동의어 인 바이너리 BLOB을 포함합니다. 즉, 파일의 디렉토리 구조를 포함합니다.

다른 경우에이 유형의 .run 파일에는 디스크에 덤프되고 개별적으로 설치 될 수있는 .deb 또는 .rpm 파일이 포함되어 있으며,이 스크립트가 포함 된 스크립트는 디스크에 덤프 한 다음 시도합니다. 시스템의 패키지 관리자 소프트웨어를 사용하여 설치하십시오.

Oracle에서 Java JDK를 다운로드하는 경우를 예로들 수 있습니다. 그것은 일반적으로 디스크에 뎁 또는 .rpm을 파일을 덤프 것이다 실행될 때 다음 사용하여 설치하는 것이 단일 실행 파일입니다 the package management tools: dpkg, apt, yum, 또는 rpm.

다음은 이러한 .run 파일 중 하나를 사용하여 다운로드 / 설치가 표시되는 예입니다. 확장자는 .bin이지만 이것은 외형 일뿐입니다. 확장자는 사용자가 다른 유형의 파일을 구별 할 수 있도록하는 것 외에는 전혀 관련이 없습니다.

$ wget http://www.java.net/download/jdk7/archive/b125/binaries/jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin
$ ./jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin

위의 파일은 JDK를 구성하는 다양한 구성 요소에 대한 패키지를 덤프 한 후 모든 구성 요소 또는 필요한 구성 요소 만 설치할 수 있습니다.

이 방법으로 패키지를 설치하는 것 외에 추가 작업을 수행 할 수 있습니다. 예를 들어, Oracle은 다음과 같은 라이센스 계약에 동의합니다.

10.5이 계약은 해당 주제와 관련된 당사자의 전체 계약입니다. 이 문서는 사전 또는 현재의 구두 또는 서면 의사 소통, 제안, 조건, 진술 및 보증을 대체하며, Bi를 포함하여 해당 주제와 관련된 당사자 간의 따옴표, 순서, 승인 또는 기타 의사 소통에 대해 상충되거나 추가 된 내용보다 우선합니다. 라이센스가있는 소프트웨어에 포함 된 nary Code 라이센스, 보충 조항 또는 기타 라이센스. 각 당사자의 권한을 부여받은 대리인이 서면으로 서명하지 않는 한 본 계약의 수정은 구속력이 없습니다.

위의 라이센스 조항에 동의하십니까? [예 혹은 아니오]

위의 설치 프로그램을 사용하면 파일 디렉토리의 바이너리 BLOB 만 포함되어 있음을 알 수 있습니다.

Extracting...
UnZipSFX 5.52 of 28 February 2005, by Info-ZIP (http://www.info-zip.org).
   creating: jdk1.7.0/
   creating: jdk1.7.0/lib/
  inflating: jdk1.7.0/lib/jexec
   creating: jdk1.7.0/lib/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-attach.jar
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-host-views.jar
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/locale/
...

이 경우이 유형의 설치는 패키지 관리자를 소환하는 것이 아니라 컨텐츠를 단일 디렉토리 트리로 덤프하여 원하는 곳으로 이동할 수 있습니다.

프로덕션 환경에서는 패키지 관리자를 사용하지 않고 배포를보다 강력하게 제어하는 ​​경우가 종종 있습니다. 아마도 배포하려는 여러 응용 프로그램이 있고 각각 다른 버전의 JDK가 필요합니다. 이 방법을 사용하면 패키지 관리자를 통해 더 쉽게 공존 할 수 있습니다.

$ pwd
/home/saml/jdk1.7.0
[saml@grinchy jdk1.7.0]$ ls -l
total 19308
drwxr-xr-x  2 saml saml     4096 Jan 13  2011 bin
-r--r--r--  1 saml saml     2487 Jan 13  2011 COPYRIGHT
drwxr-xr-x  5 saml saml     4096 Jan 13  2011 db
drwxr-xr-x 11 saml saml     4096 Jan 13  2011 demo
drwxr-xr-x  3 saml saml     4096 Jan 13  2011 include
drwxr-xr-x  6 saml saml     4096 Sep 29 10:57 jre
drwxr-xr-x  3 saml saml     4096 Sep 29 10:57 lib
-r--r--r--  1 saml saml     9005 Jan 13  2011 LICENSE
drwxr-xr-x  4 saml saml     4096 Jan 13  2011 man
-r--r--r--  1 saml saml    25379 Jan 13  2011 README.html
-r--r--r--  1 saml saml    20320 Jan 13  2011 README_ja.html
-r--r--r--  1 saml saml    15160 Jan 13  2011 README_zh_CN.html
-r--r--r--  1 saml saml     5348 Sep 29 10:58 register.html
-r--r--r--  1 saml saml     5645 Sep 29 10:58 register_ja.html
-r--r--r--  1 saml saml     4951 Sep 29 10:58 register_zh_CN.html
drwxr-xr-x  8 saml saml     4096 Jan 13  2011 sample
-rw-r--r--  1 saml saml 19631790 Jan 13  2011 src.zip

참고 문헌


답변