.deb와 .rpm은 무엇이며 .msi와 어떻게 다릅니 까? [닫은]


30

이러한 파일 형식은 무엇이며 .msiWindows의 형식과 어떻게 다릅니 까? 또한 이러한 패키지 관리 체계의 장단점은 무엇입니까?


.deb 및 .rpm은 .exe보다 .msi와 더 유사합니다.
Ignacio Vazquez-Abrams

참고 : 인터넷의 다른 곳에서 "rpm vs deb / dpkg의 장단점은 무엇입니까?"라는 질문은 불꽃 전쟁을 일으킬 가능성이 있습니다.
strugee December

답변:


40

같은 파일 .deb.rpm에 더 가깝다 .zip파일. 그것들은 특정 응용 프로그램 및 / 또는 파일 라이브러리와 관련된 파일을 포함하는 파일 및 하위 디렉토리의 디렉토리 트리입니다.

배포

.deb파일은 데비안 (Ubuntu, Linux Mint 등)에서 파생 된 Linux 배포판을위한 것입니다. .rpm파일은 주로 레드햇 기반 배포판 (페도에 CentOS, RHEL)에서뿐만 아니라 수세 배포판으로 도출 분포가 사용된다.

그들에게 특별한 점은 무엇입니까?

이러한 파일에는 파일과 구별되는 또 다른 특수한 특성 .zip이 있습니다.이 파일에는 추가 작업을 수행하기 위해 이러한 파일 중 하나를 설치하는 시스템에서 실행중인 패키지 관리자 소프트웨어에 지시하는 규칙이 포함 된 사양이 포함될 수 있습니다. 이러한 작업에는 다음과 같은 것들이 포함됩니다.

  • 시스템에서 사용자 계정 생성
  • .deb또는 .rpm파일에 실제로 포함되지 않은 구성 파일 작성 / 수정
  • 설치 후 파일에 대한 소유권 / 권한 설정
  • 패키지를 설치하는 시스템에서 루트로 명령을 실행하십시오.
  • 종속성은 두 형식 모두 설치 전에 시스템에 있어야하는 이름 또는 패키지 및 / 또는 서비스 이름을 포함 할 수 있습니다.

.msi 파일은 어떻습니까?

.msi파일은 비슷 .deb& .rpm파일을하지만 가능성이 훨씬 더 정교한. .msi파일은 Windows Installer에서 활용하고 다음과 같은 추가 기능을 제공하고 있습니다 :

  • GUI 프레임 워크
  • 제거 시퀀스 생성
  • 타사 설치 프로그램에서 사용하기위한 자체 프레임 워크
  • 롤백
  • 광고
  • 사용자 인터페이스
  • 기타

좀 더 자세한 설명을 원하면이 주제에 대한 다양한 Wikipedia 페이지를 살펴 보는 것이 좋습니다.

참고 문헌


대답은 ".deb 및 .rpm과 같은 파일은 .zip 파일과 유사합니다"로 시작하므로 deb 패키지는 실제로 ar아카이브이며 rpm은 (일부로) cpio 아카이브입니다. 뎁의 경우으로 deb의 압축을 풀 수 있는지 쉽게 확인할 수 있습니다 ar -x. rpm의 경우 이것이 가능한지 모르겠습니다.
Faheem Mitha

@FaheemMitha :rpm2cpio package.rpm | cpio -idv
ninjalj 2016

@ninjalj-고맙습니다. 그 명령을 추가하는 것을 잊었습니다. 파일 하나 또는 두 개만 원할 때 rpms의 압축을 풀기 위해 사용했습니다. 일반적으로 .spec 파일
slm

@ninjalj 감사합니다, 나는 그것을 몰랐습니다.
Faheem Mitha

31

다른 답변은의 품질 .deb.rpm비슷합니다 .msi. 여기에는 추가 작업을 수행 할 수있는 압축 형식의 소프트웨어가 들어 있습니다. 이미 언급 된 추가 사항에는 사용자 추가, 설치 전후 작업, 시스템에 프로그램 등록 (예 : Windows 레지스트리, xdg-dir, OpenRC / systemd init 등)이 포함됩니다.

형식을 차별화하는 것은 (그리고 거대한 전문가입니다) 의존성입니다. .deb.rpm파일 모두 필수 소프트웨어로 설치해야하는 다른 프로그램의 이름과 버전을 나열 할 수 있습니다. 그 자체로 이것은 단지 정보 제공 용이지만 ...

일반적으로 파일 .deb과 직접 상호 작용 하거나 .rpm파일 과 상호 작용하지 않습니다 .msi. 사실, 이전에 언급 한 것처럼 a .deb는 일반적으로 특정 디렉토리 레이아웃에 포함 된 파일로 xz로 압축 된 아카이브 (ar 또는 tar)입니다. 대신 당신은 같은 도구를 사용 dpkg하고 rpm이 파일을 조작 할 수 있습니다.

dpkgrpm의 내용을 설치할 .deb.rpm파일을 모든 전제 조건 소프트웨어가 설치되어 있는지 확인합니다. 이러한 프로그램을 실행하는 것은 .msi파일 을 클릭하는 것과 유사 합니다. 사용자는하지만,하지 일반적으로 상호 작용을 수행 dpkg하거나 rpm대신 사용할 apt-getyum패키지를 설치합니다. 이 도구들은 창문에 정확한 아날로그가 없습니다.

apt-getyum에 기억 종속성 정보를 원격 (또는 로컬) 저장소에서 파일을 가져 와서 사용할 수 있습니다 .deb.rpm충족되지 않은 전제 조건을 가져오고 설치 파일을. 내가 아는 또는 어떤 다른 소프트웨어 나 필요에 대해 걱정할 필요가 없습니다 이러한 도구, 난 그냥 지정할 수 있습니다 apt-get install chromium그 아는 apt-get나는 GTK +, ALSA, 특정 X 라이브러리 등이 나 수동으로 가지고 찾아 사람들을 설치하지 않고 설치되어 있는지 확인합니다 .deb.rpm파일.

apt-get그리고 yum큰 두 개의 패키지 관리자는, 당신은 또한 찾을 수 있습니다 emergepacman다른 기본 메커니즘 있지만, 같은 일을하는 거기.


7
의존성 관리에 대해 이야기 +1. 간과해서는 안됩니다.
ldrumm

1
참고 : 유틸리티를 .deb사용하여 패키지 된 것으로 생각 ar합니다. 왜 그런지 모르겠다.
strugee

1
또한 emerge패키지 관리자로 간주한다면 BSD 포트를 고려해야 할 수도 있습니다 (그들에 대해 잘 모르지만 GNU / Linux에서 패키지 관리자와 동등한 지 여부는 확실하지 않습니다) 리눅스).
strugee

3
@ strugee 사실, 나는 그것을 반영하기 위해 편집했습니다. 또한 기술적으로 포티지는 패키지 관리 엔진 emerge이며 포트와 매우 유사합니다. 모든 소스 기반이며 구성이 매우 간단하지만 명령이 설치 / 제거, 종속성 처리 및 설치된 패키지의 데이터베이스를 유지하는 경우이를 패키지 관리자라고합니다. 좋은 의견.
케이시

@ casey : dpkg 및 rpm의 기본 메커니즘에 대한 자세한 정보는 어디서 얻을 수 있습니까?
deathholes

4

Windows의 MSI 파일과 기능이 동일합니다.

  • 소프트웨어를 레지스트리에 등록합니다.
  • 해당 패키지와 함께 설치된 파일을 등록합니다.

Linux에서는 다른 패키지 간의 종속성도 관리합니다.

이 패키지 관리 형식은 다른 많은 기능을 수행하지만 이것이 주요 기능입니다.


2

.rpm파일은 RPM 패키지로 Red Hat 및 Red Hat 파생 배포판 (예 : Fedora, RHEL, CentOS)에서 사용하는 패키지 유형을 나타냅니다. .deb파일은 DEB 패키지이며, 데비안 및 데비안 파생물 (예 : 데비안, 우분투)에서 사용하는 패키지 유형입니다.

다운로드시 일반적으로 관련 배포판에 각각 rpmdpkg명령을 통해 설치됩니다 . 즉, 그들은으로 설치되는 파일입니다 rpmdpkg보다는 .msi.exe자신을 설치하는 실행 파일입니다 설치 파일은.

RPM 및 DEB 패키지는 여러 가지면에서 MSI와 다릅니다.

  • 위와 같이, 다른 도구 (예 : rpmdpkg)를 설치 해야하는 파일입니다 .
  • 설치되면 데이터베이스에 추가되며 MSI 파일에는 해당되지 않습니다. MSI 파일은 레지스트리에 프로그램을 나열하지만 제어판으로 제거해도 설치된 모든 파일이 디스크에서 완전히 제거되지는 않습니다 . 따라서 RPM 및 DEB 패키지를 제거하면 모든 파일이 완전히 제거됩니다.
  • 그들은 일반적으로 다운로드하지 직접 설치하지만, 패키지와 같은 관리자를 통해하는 yumaptitude각각 - 관련 시스템에 대한 컴파일 된 패키지를 제공 소위 저장소가, 패키지 관리자는 저장소의 데이터에서 자동으로 모든 종속성을 설치합니다.
  • 설치된 패키지는 일반적으로 여러 구성 도구를 실행합니다 (예 : LightDM이 이미 설치된 시스템에 GDM을 설치하는 경우 도구는 LightDM의 GDM 사용을 선호하는지 묻습니다).
  • 패키지를 설치할 때 의존성 이외의 일부 패키지가 제안되는데, 이는 필수 패키지는 아니지만 사용자에게 유용 할 수있는 패키지를 보여줍니다 .

1

모두 .deb.rpm소프트웨어의 소프트웨어가 포함 된 GNU / 리눅스 배포판에 대한 패키지 (프로그램 (들), 응용 프로그램 (들) 등) 설치 무엇을 어디서하는 방법에 대한 소프트웨어 자체 및 지침에 대한 "* 설치 *"소프트웨어에 대한 정보입니다 바르게.

  • .deb데비안 기반 배포판의 데비안 소프트웨어 패키지 . 예를 들어 apt/ aptitude(명령 줄)을 통해 설치 하거나 " 시냅틱 " " Ubuntu 소프트웨어 센터 ", " Gdebi "등을 통해 그래픽으로 설치
  • .rpmRed Hat Package Manager : Fedora / Red Hat (기반) Linux 배포판. 예를 들어 yum(명령 줄) 또는 예를 들어 " yumex " 를 통해 그래픽으로 설치
  • .msiMicrosoft Installer : Microsoft Windows OS의 경우 위와 동일

설치 관리자는 패키지 유지 관리, 업데이트 및 / 또는 제거를 처리 할 수도 있습니다. 또한 여기서 " 설치 프로그램 "은이 작업을 올바르게 수행하는 소프트웨어를 의미합니다. 물론 이러한 작업을 수동으로 수행하기 위해 사용자가 언급 한 정보도 제공합니다.


1
PackageKit은 응용 프로그램이 아닙니다. 배포판에 따라 다양한 패키지 관리자를위한 추상화 라이브러리입니다.
strugee

@strugee dang은 이것이 이름이라고 생각했습니다. 나는 정말로 yumex올바른 이름 이기를 바란다 … 힌트를 주셔서 감사합니다
erch

Fedora의 기본값은 그놈 소프트웨어라고 생각합니다.
strugee December

@strugee 나는 LXDE 사용 및 패키지 관리를위한 그래픽 프론트 엔드를 기억하고, 잠시 동안 페도라를하려고했으나 이름은 작동하고 정장 하나의 욕망 최고의 :) 무엇이든, 나는 생각했다 ...
erch

1

.deb: Ubuntu, Linux Mint 등과 같은 Debian 기반 Linux 배포판에 사용되는 Debian 패키지

.rpm: rpmRHEL, Fedora 및 CentOS와 같은 Red Hat 기반 Linux 배포판 설치 프로그램

.msi: Windows 플랫폼 용 이진 설치 프로그램


Stack Exchange에 오신 것을 환영합니다! 왜 당신이 다운 투표를 받았는지에 대한 설명 : 나는 다운 투표를 한 두 사람 중 하나는 아니지만, 데비안 및 / 또는 우분투가 GNU / Linux가 아니라는 것을 암시하기 때문에 그렇게 생각합니다. 그릇된. 그들은. (데비안, 우분투 및 페도라보다 많은 배포판이 있습니다.) 또한 실제로는 아무것도 설명하지 않았습니다.
strugee

1
업데이트 : 그 의미를 제거하기 위해 편집
Davidson Chua

다운 보트는 파일이 무엇을 의미하는지에 대한 단 한 줄의 설명을 제공하기위한 것이며, 이러한 패키지가 어떻게 다른지에 대한 실제 설명은 아닙니다. 선택된 답변을 살펴보십시오. 답변에서 기대하는 품질입니다. :)
Munim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.