deb(파일 형식)
deb (file format)| 파일 이름 확장명 | .csv, .udeb |
|---|---|
| 인터넷 미디어 유형 | 애플리케이션/vnd.vnd.vsian.properties[1] |
| 개발자 | 데비안 |
| 형식 유형 | 패키지 관리 시스템 |
| 컨테이너: | 소프트웨어 패키지 |
| 연장 위치 | ar 아카이브, tarball |
| 웹사이트 | deb 형식 명세 |
데비안 리눅스 배포판과 그 파생상품에 대한 소프트웨어 패키지 포맷의 확장뿐만 아니라 deb도 형식이다.
디자인
데비안 패키지는 2개의 타르 아카이브가 포함된 표준 유닉스 ar 아카이브다.한 아카이브는 제어 정보를 보관하고 다른 아카이브는 설치 가능한 데이터를 포함하고 있다.[2]
dpkg는 데비안 패키지를 설치하고 조작하는 기본 기능을 제공한다.일반적으로 최종 사용자는 dpkg으로 직접 패키지를 관리하지 않고 APT 패키지 관리 소프트웨어 또는 적성(nCurses), 시냅틱(GTK)과 같은 다른 APT 프런트엔드를 사용한다.[3]
데비안 패키지는 외계인을 사용하여 다른 패키지 형식으로 변환할 수 있으며, 체크 인스톨 또는 데비안 패키지 메이커를 사용하여 소스 코드에서 만들 [4]수 있다.
일부 핵심 Debian 패키지는 udebs("마이크로 debs")로 제공되며 일반적으로 Debian 설치를 시작하는 데에만 사용된다.이 파일들은 udeb 파일 이름 확장자를 사용하지만, 일반 deb 파일과 동일한 구조 사양을 준수한다.그러나 udeb 패키지는 deb 상대와 달리 필수 기능 파일만 포함하고 있다.[5]특히 문서 파일은 일반적으로 생략된다.udeb 패키지는 표준 데비안 시스템에서는 설치할 수 없지만 데비안-설치러에서는 사용된다.
실행
데비안 0.93 이전에, 패키지는 파일 헤더와 두 개의 연결된 gzip 아카이브로 구성되었다.[6]데비안 0.93 이후, 뎁 패키지가 아르 아카이브로서 구현된다.[7]이 아카이브에는 다음 세 개의 파일이 특정 순서로 들어 있다.[8][9]
- debian-binary - 패키지 형식 버전 번호를 제공하는 단일 줄 포함.(
2.0현재 버전의 데비안(Debian)의 경우).[9] - 제어 아카이브 - 이름이 지정된 타르 아카이브
control.tar유지관리자 스크립트 및 패키지 메타 정보(이름, 버전, 종속성 및 유지관리자)가 포함됨.gzip 또는 xz로 아카이브 압축이 지원됨.압축 방법을 나타내도록 파일 확장자가 변경된다.[9][2] - 데이터 아카이브 - 이름이 지정된 타르 아카이브
data.tar실제 설치 가능한 파일이 들어 있다.gzip, bzip2, lzma 또는 xz로 아카이브를 압축하는 것이 지원된다.압축 방법을 나타내도록 파일 확장자가 변경된다.[9][2]
제어 아카이브
콘트롤 아카이브 콘텐츠에는 다음 파일이 포함될 수 있다.
- 제어는 패키지에 대한 간략한 설명뿐만 아니라 패키지의 종속성과 같은 다른 정보를 포함한다.[10][11][12][13]
- md5sum은 손상되거나 불완전한 파일을 탐지하기 위해 패키지에 있는 모든 파일의 MD5 체크섬을 포함한다.[14]
- Confiles는 구성 파일로 취급되어야 하는 패키지의 파일을 나열한다.지정된 경우가 아니면 업데이트 중에 구성 파일을 덮어쓰지 않는다.[15]
- preinst, postinst, prerm 및 postrm은 패키지를 설치하거나 제거하기 전 또는 후에 실행되는 선택적 스크립트다.[15][16]
- config는 debconf 구성 메커니즘을 지원하는 선택적 스크립트다.[17]
- 공유 라이브러리 종속성 목록.[18][19]
서명된 패키지
데비안 기반 배포는 서명된 데비안 패키지에 대한 GPG 시그니처 검증을 지원하지만 대부분(전부는 아닐 경우) 기본적으로 이 기능이 비활성화되어 있다.[20]대신 리포지토리 메타데이터(즉, 파일)에 서명하여 패키지를 검증한다.메타데이터 파일에는 파일의 신뢰성을 확인하기 위한 수단으로 리포지토리 파일에 대한 체크섬이 포함된다.[21][22]현재 개별 패키지에 서명하기 위한 두 가지 다른 구현이 있다.첫 번째는 dpkg으로 지지되는 / toolset을 통해 이루어진다.[20][23]두 번째는 dpkg에서 지원하지 않는 프로그램을 통해 이루어지기 때문에, 패키지는 프로그램과 함께 수동으로 확인해야 한다.[20][24][25][26]두 형식 모두 서명 정보를 저장하기 위해 Ar 아카이브에 새 섹션을 추가하지만 형식은 서로 호환되지 않는다.[20]패키지 형식에 대한 수정사항 중 어느 것도 바이너리 패키지 형식에 관한 공식 데비안 핸드북이나 맨 페이지에 열거되어 있지 않다.[27][8]
입양
- 데비안 패키지는 우분투 등 데비안을 기반으로 한 배포에 사용된다.
- Dpkg과 APT to macOS의 항구인 핑크는 뎁 패키지를 사용한다.[28][29]
- 오픈솔라리스 기반의 단종 OS인 넥센타 OS에는 데비안 패키지 관리 소프트웨어와 데비 패키지 활용이 포함됐다.
- GNU 기반 사용자랜드와 FreeB를 사용하는 OS인 Debian GNU/kFreeBSDSD 커널.
- 데비안 GNU/허드.
- 일부 iOS 장치(iPhone, iPad 및 iPods)[30][31]의 탈옥.
- 데비안의 dpk와 닮은 .ipk 패키지를 둘 다 사용하는 ipkg과 Opkg.
참고 항목
참조
- ^ "Media Type Registration for vnd.debian.binary-package". Internet Assigned Numbers Authority. Retrieved 21 May 2014.
- ^ a b c Raphaël Hertzog (17 Sep 2010). "How to create Debian packages with alternative compression methods". raphaelhertzog.com. Retrieved 26 Aug 2016.
- ^ "Debian Courses/Maintaining Packages/Packages Management". debian.org. 31 Oct 2010. Retrieved 26 Aug 2016.
- ^ "Overview of Debian Maintainer Tools / Alien". debian.org. n.d. Retrieved 26 Aug 2016.
- ^ "Chapter 3. D-I components or udebs". debian.org. n.d. Archived from the original on 3 December 2011. Retrieved 26 Aug 2016.
- ^ "deb-old(5) man page: Debian old binary package format". manpages.debian.org. Retrieved 2017-04-23.
- ^ Lucas Nussbaum (16 Oct 2014). "Debian Packaging Tutorial" (PDF). debian.org. Retrieved 26 Aug 2016.
- ^ a b "deb(5) man page: Debian binary package format". manpages.debian.org. Retrieved 2017-04-23.
- ^ a b c d "Debian Binary Package Building HOWTO/3. Package Structure". tldp.org. n.d. Retrieved 26 Aug 2016.
- ^ "deb-control(5) man page: Debian packages' master control file format". manpages.debian.org. Retrieved 2017-04-23.
- ^ "Debian Policy Manual Chapter 5 - Control files and their fields". debian.org. 30 Mar 2016. Retrieved 26 Aug 2016.
- ^ Josip Rodin and Osamu Aoki (9 Jun 2015). "Debian New Maintainers' Guide - Ch4 Required files under the debian directory". debian.org. Retrieved 26 Aug 2016.
- ^ "Debian Policy Manual Ch7 - Declaring relationships between packages". debian.org. 30 Mar 2016. Retrieved 26 Aug 2016.
- ^ "The Debian Administrator's Handbook - Package Meta-Information". debian-handbook.info. n.d. Retrieved 26 Aug 2016.
- ^ a b "Chapter 7. Basics of the Debian package management system". debian.org. 12 August 2019. Retrieved 27 May 2021.
- ^ "Debian Maintainer Scripts". debian.org. 11 Oct 2012. Retrieved 26 Aug 2016.
- ^ Joey Hess (n.d.). "The Debconf Programmer's Tutorial - The Config Script". fifi.org. Retrieved 26 Aug 2016.
- ^ "dpkg-shlibdeps(1) man page". manpages.debian.org. Retrieved 2017-04-23.
- ^ "Debian Policy - 8.6 Dependencies between the library and other packages". debian.org. 30 Mar 2016. Retrieved 26 Aug 2016.
- ^ a b c d Joe Damato (28 Oct 2014). "HOWTO: GPG sign and verify deb packages and APT repositories". packagecloud.io. Retrieved 26 Aug 2016.
- ^ "APT repository internals". packagecloud.io. 4 Aug 2015. Retrieved 26 Aug 2016.
- ^ "SecureApt - All about secure apt". debian.org. 22 Sep 2015. Retrieved 26 Aug 2016.
- ^ "debsig-verify(1) man page". manpages.debian.org. Retrieved 2017-04-23.
- ^ "debsigs(1) man page". manpages.debian.org. Retrieved 2017-04-23.
- ^ Andreas Barth (29 Dec 2003). "Integrating signatures into Debian archive files". turmzimmer.net. Archived from the original on 2006-02-22. Retrieved 29 Dec 2003.
{{cite web}}: CS1 maint : bot : 원본 URL 상태 미상(링크) - ^ "policy for debsigs". turmzimmer.net. 1 Feb 2004. Archived from the original on 2006-07-14. Retrieved 1 Feb 2004.
{{cite web}}: CS1 maint : bot : 원본 URL 상태 미상(링크) - ^ "The Debian Administrator's Handbook - Ch5. Packaging System: Tools and Fundamental Principles". debian.org. n.d. Retrieved 26 Aug 2016.
- ^ "Fink FAQ - General Questions". finkproject.org. 6 Jun 2015. Retrieved 26 Aug 2016.
- ^ "Fink FAQ - Installing, Using and Maintaining Fink". finkproject.org. 6 Jun 2015. Retrieved 26 Aug 2016.
- ^ Jay Freeman (n.d.). "Bringing Debian APT to the iPhone". saurik.com. Retrieved 26 Aug 2016.
- ^ Erica Sadun (28 Feb 2008). "Debian-style installation arrives on iPhone". engadget.com. Retrieved 26 Aug 2016.