맨위로가기

패키지 포맷

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

패키지 포맷은 소프트웨어 공급망의 보안과 무결성을 관리하기 위해 사용되는 실행 파일 및 구성 요소를 포함하는 형식이다. 디지털 서명을 통해 소프트웨어의 무결성을 확보하고 변조를 방지하며, 운영체제 및 플랫폼에 따라 다양한 형식이 존재한다. 일반적인 형식으로는 deb, 이빌드, 푸시, pkg, PUP, PET, QPKG, RPM, SLP, pkg.tar.xz, .tgz, .txz, .tbz, .tlz, APK 등이 있으며, 리눅스, BSD, 윈도우, macOS, iOS, 안드로이드 등 다양한 운영체제에서 사용된다.

더 읽어볼만한 페이지

  • 패키지 관리 시스템 - 패키지 관리자
    컴퓨터 프로그램의 설치, 업데이트, 제거를 자동화하는 패키지 관리자는 소프트웨어 패키지 관리, 의존성 관리, 설정 관리 기능을 제공하여 다양한 운영 체제와 프로그래밍 언어에서 활용된다.
  • 패키지 관리 시스템 - 제거 프로그램
    제거 프로그램은 컴퓨터에 설치된 소프트웨어를 완전히 제거하기 위해 로거, 제거 프로그램, 분석기, 감시자 등의 도구를 활용하며, 설치 기록을 바탕으로 프로그램 및 관련 파일을 삭제하고 레지스트리를 정리하는 기능을 제공한다.
  • 리눅스 패키지 관리 관련 소프트웨어 - 어드밴스트 패키징 툴
    어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다.
  • 리눅스 패키지 관리 관련 소프트웨어 - ZYpp
    ZYpp은 SUSE Linux 배포판의 소프트웨어 관리 엔진으로, YaST 패키지 관리자와 Red Carpet의 통합 필요성에 의해 개발되었으며, libsolv 통합 및 SAT 솔버 도입을 통해 패키지 관리 효율성을 높인 Zypper 명령줄 도구를 제공한다.
패키지 포맷
패키지 포맷
"패키지 다이어그램"
일반 정보
유형컴퓨터 파일 형식
사용 목적소프트웨어 배포 및 설치
데이터 유형다양함 (프로그램, 라이브러리, 설정 파일, 메타데이터 등)
기술 정보
구조일반적으로 아카이브 형식 (예: Tar, Zip) 및 추가 메타데이터
압축선택 사항, 다양한 압축 알고리즘 사용 가능 (예: gzip, bzip2, xz)
메타데이터패키지 이름, 버전, 종속성, 설치 스크립트 등
설치패키지 관리 시스템을 통해 설치 및 관리
표준 및 규격
표준사실상 표준 (운영체제 및 패키지 관리 시스템별로 다양함)
예시
패키지 포맷 예시.deb (Debian), .rpm (Red Hat), .apk (Android), .dmg (macOS), .msi (Windows), .nupkg (.NET)
기타
참고패키지 포맷은 운영체제 및 패키지 관리 시스템에 따라 크게 다를 수 있음

2. 소프트웨어 공급망 및 보안

패키지는 소프트웨어 공급망의 보안과 무결성을 관리하는 데 중요한 구성 요소이다. 실행 파일 및 구성을 포함하는 패키지는 실행 중인 소프트웨어의 무결성을 확립하고 변조로부터 보호하기 위해 디지털 서명을 할 수 있다.[2] 코드 서명을 지원하는 패키지 형식에는 .deb (데비안), .msi (마이크로소프트 윈도우), .apk (안드로이드) 및 .ipa (iOS, 아이패드OS)가 있다.

3. 일반적인 형식

deb는 우분투와 같은 데비안 계열 배포판에서 사용된다.[14]

이빌드는 젠투 리눅스에서 사용된다.

푸시는 파라두스와 그 파생 배포판인 파라두스-안카 및 푸시리눅스에서 사용된다.

pkg는 아이폰, 플레이스테이션 3, 솔라리스에서 사용된다.

PUP 와 PET는 퍼피 리눅스에서 사용된다. 패키지를 클릭하여 설치할 수 있다.[15]

QPKG는 QNAP NAS 장치에서 사용된다.[16]

RPM은 레드햇 엔터프라이즈 리눅스와 페도라, CentOS 등에서 사용된다.

SLP는 스템프드 리눅스에서 사용된다.

아치 리눅스의 Pacman 패키지 매니저는 pkg.tar.xz 형식을 사용한다.[17]

.tgz, .txz, .tbz, .tlz는 슬랙웨어에서 사용된다.

APK는 안드로이드에서 사용된다.

3. 1. 리눅스 기반 형식

deb 형식은 우분투와 같은 데비안 계열 배포판에서 사용된다.[14][5] 이빌드는 젠투 리눅스에서 사용되는 패키지 형식이다.[6] 푸시는 파라두스와 그 파생 배포판인 파라두스-안카 및 푸시리눅스에서 사용된다. 퍼피 리눅스는 PUP 및 PET 패키지 형식을 사용하며, 패키지를 클릭하여 설치할 수 있다.[15]

RPM은 레드햇 엔터프라이즈 리눅스와 페도라, CentOS 등에서 사용된다.[9] 아치 리눅스의 Pacman 패키지 매니저는 pkg.tar.xz 형식을 사용한다.[17] 슬랙웨어는 .tgz, .txz, .tbz, .tlz 등의 패키지 형식을 사용한다. APK는 안드로이드에서 사용되는 패키지 형식이다.[4]

형식사용처
APK (Alpine)Alpine Linux
AppImage리눅스 배포판 독립적
eopkg솔루스
NixpkgNix, NixOS, Home Manager
Portage젠투 리눅스, ChromeOS
Flatpak리눅스 배포판 독립적
.app, .hapHarmonyOS, OpenHarmony, Oniro OS 및 리눅스 기반 Unity Operating System
.pkg.tar.zst아치 리눅스
Snap리눅스 배포판 독립적, 주로 우분투용으로 개발됨


3. 2. BSD 기반 형식

BSD 기반 형식에는 여러가지가 존재한다.

  • deb는 우분투와 같은 데비안과 파생상품에 의해 사용된다.[14]
  • 이빌드는 젠투 리눅스에서 사용된다.
  • 푸시는 파라두스와 그것에서 파생된 파라두스-안카와 푸시리눅스에서 사용된다.
  • pkg는 아이폰, 플레이스테이션 3, 솔라리스에서 사용된다.
  • PUP 와 PET는 퍼피 리눅스에서 사용된다. - 패키지를 클릭하고 설치한다. 운영체제는 usb에 설치될 수 있으며 애플리케이션을 가져올 수 있다.[15]
  • QPKG는 QNAP NAS 장치에서 사용된다.[16]
  • RPM는 레드햇 엔터프라이즈 리눅스와 페도라에서 파생된 CentOS 등에서 사용된다.
  • SLP는 스템프드 리눅스에서 사용된다.
  • 아치 리눅스의 Pacman패키지 매니저의 pkg.tar.xz가 있다.[17]
  • .tgz, .txz, .tbz, .tlz는 슬랙웨어에서 사용된다.
  • APK는 안드로이드에서 사용된다.
  • .ipa는 iOS, iPadOS에서 사용된다.
  • 포트 컬렉션(Ports, BSD)은 pkgsrc, FreeBSD, OpenBSD에서 사용된다.[3]
  • PKG는 macOS, iOS, PlayStation 3, Solaris, SunOS, UNIX System V, Symbian, BeOS, Apple Newton에서 사용된다.

3. 3. 윈도우 형식

윈도우 8 이상, 윈도우 폰에서 사용되는 APPX 및 APPXBundle 형식이 있다.[10] 윈도우 인스톨러에서 사용되는 Windows Installer 패키지/MSI 형식이 있다.

3. 4. 기타 형식


  • deb — 우분투와 같은 데비안과 파생상품에 의해 사용된다.[14]
  • 이빌드 — 젠투 리눅스에서 사용된다.
  • 푸시 — 파라두스와 그것에서 파생된 파라두스-안카와 푸시리눅스에서 사용된다.
  • pkg - 아이폰, 플레이스테이션 3, 솔라리스에서 사용된다.
  • PUP 와 PET — 퍼피 리눅스에서 사용된다. - 패키지를 클릭하고 설치한다. 운영체제는 usb에 설치될 수 있으며 애플리케이션을 가져올 수 있다.[15]
  • QPKG — QNAP NAS 장치에서 사용된다.[16]
  • RPM — 레드햇 엔터프라이즈 리눅스와 페도라에서 파생된 CentOS 등에서 사용된다.
  • SLP — 스템프드 리눅스에서 사용된다.
  • 아치 리눅스의 Pacman패키지 매니저의 pkg.tar.xz.[17]
  • .tgz, .txz, .tbz, .tlz — 슬랙웨어에서 사용된다.
  • APK – 안드로이드에서 사용된다.

형식사용처
AIR어도비 에어
BottleHomebrew


3. 5. 범용 형식

아치 리눅스의 팩맨[11]슬랙웨어[12]는 'tar' 아카이브를 일반적인 명명 규칙과 함께 사용하지만, 내부 구조는 특수하다.

4. 한국의 특수한 상황

참조

[1] 서적 Stork: Secure Package Management for VM Environments https://books.google[...] ProQuest 2008
[2] 웹사이트 Protecting Software Integrity Through Code Signing https://csrc.nist.go[...] 2018-05-23
[3] 웹사이트 Ports - Working with Ports https://www.openbsd.[...]
[4] 웹사이트 Alpine package format - Alpine Linux https://wiki.alpinel[...] 2016-05-19
[5] 웹사이트 InstallingSoftware - Community Ubuntu Documentation https://help.ubuntu.[...] Help.ubuntu.com 2013-04-24
[6] 웹사이트 ebuild https://wiki.gentoo.[...] 2015-07-29
[7] 웹사이트 Basics to Package Management https://getsol.us/ar[...] 2020-05-01
[8] 웹사이트 Using Portage to Manage Packages in Gentoo https://www.linode.c[...] 2021-07-15
[9] 웹사이트 rpm - Trac http://rpm.org/ 2014-09-29
[10] 웹사이트 App packaging http://msdn.microsof[...] 2014-09-29
[11] 웹사이트 makepkg.conf(5) Manual Page https://www.archlinu[...]
[12] 웹사이트 The Slackware Linux Project: Configuration Help http://www.slackware[...] 2014-09-29
[13] 서적 Stork: Secure Package Management for VM Environments http://books.google.[...] ProQuest 2008
[14] 웹인용 InstallingSoftware - Community Ubuntu Documentation https://help.ubuntu.[...] Help.ubuntu.com 2013-04-24
[15] 웹인용 Pup FAQ http://puppylinux.co[...] 2008-10-27
[16] 웹인용 App Center (QPKG) http://www.qnap.com/[...]
[17] 웹인용 makepkg.conf(5) Manual Page https://www.archlinu[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com