패키지 포맷
"오늘의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)가 있다.
deb는 우분투와 같은 데비안 계열 배포판에서 사용된다.[14]
3. 일반적인 형식
이빌드는 젠투 리눅스에서 사용된다.
푸시는 파라두스와 그 파생 배포판인 파라두스-안카 및 푸시리눅스에서 사용된다.
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 | 솔루스 |
Nixpkg | Nix, NixOS, Home Manager |
Portage | 젠투 리눅스, ChromeOS |
Flatpak | 리눅스 배포판 독립적 |
.app, .hap | HarmonyOS, 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 | 어도비 에어 |
Bottle | Homebrew |
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