APT(소프트웨어)
APT (software)![]() apt-get 설치 전에 확인 요청 | |
개발자 | 데비안 프로젝트 |
---|---|
초기 릴리즈 | 1998년 3월 [1] | ; 전 (
안정된 릴리스 | 2.2.4[2] / 2021년 6월 10일; 전( |
프리뷰 릴리즈 | 2.4.5[3] / 2022년 4월 ; 전( |
저장소 | |
기입처 | C++ |
운영 체제 | Unix와 같은 |
유형 | 패키지 매니저 |
면허증. | GPLv2+ |
웹 사이트 | wiki |
APT(Advanced Package Tool)는 Debian 및 Debian 기반의 Linux [4]디스트리뷰션에서 소프트웨어의 설치 및 삭제를 처리하기 위해 코어 라이브러리와 연동되는 자유 소프트웨어 사용자 인터페이스입니다.APT는 미리 컴파일된 파일 또는 소스 [4]코드를 컴파일하여 소프트웨어 패키지의 검색, 구성 및 설치를 자동화함으로써 Unix와 유사한 컴퓨터 시스템의 소프트웨어 관리 프로세스를 단순화합니다.
사용.
APT는 apt라는 이름의 패키지로 배포된 도구 모음입니다.APT의 상당 부분은 C++ 함수 라이브러리에서 정의됩니다.APT에는 라이브러리를 사용하는 패키지 처리를 위한 명령줄 프로그램도 포함되어 있습니다.세 가지 프로그램이 있습니다.apt
,apt-get
그리고.apt-cache
단순하고 어디서나 사용할 수 있기 때문에 일반적으로 예시에 사용됩니다.적절한 패키지는 현재 모든 Debian 릴리즈에서 "중요한" 우선순위가 있으므로 기본 Debian 설치에 포함되어 있습니다.APT는 의 프런트 엔드로 간주할 수 있습니다.dpkg
, 구식보다 친근함dselect
프런트 엔드하는 동안에dpkg
는 개개의 패키지에 대한 액션을 수행하고 APT는 이들 간의 관계(특히 의존관계)를 관리할 뿐만 아니라 상위 레벨의 버전 결정(릴리스 추적 및 버전 고정)을 소싱 및 관리합니다.
APT는 종종 Debian의 가장 좋은 [5][6][7][8]특징 중 하나로 칭송받는데, Debian 개발자들은 Debian [9][10]정책의 엄격한 품질 관리 덕분이다.
APT의 주요 기능은 호출 방식입니다.dpkg
- 설치 또는 삭제할 패키지의 목록을 토폴로지로 정렬하여 호출합니다.dpkg
가능한 한 좋은 순서로.경우에 따라서는, 이 테크놀로지가--force
옵션dpkg
단, 이것은 원인을 회피하는 방법을 계산할 수 없는 경우에만 실행됩니다.dpkg
작업을 강제로 수행해야 합니다.
소프트웨어 설치
사용자가 하나 이상의 패키지를 설치하도록 지시했습니다.각 패키지 이름은 패키지의 이름 부분만으로 표현되며, 완전한 파일 이름은 아닙니다(예를 들어 Debian 시스템에서는,libc6
제공된 인수가 될 것입니다.libc6_1.9.6-2.deb
특히 APT는 지정된 패키지가 의존하는 패키지를 자동으로 가져와 설치합니다(필요한 경우).이는 APT 기반 패키지 관리 시스템의 고유한 특징이며, 의존관계 누락으로 인한 설치 실패를 방지하여 의존관계 지옥의 한 종류였습니다.
또 다른 차이점은 원격 저장소에서 패키지를 가져오는 것입니다.APT는 로케이션컨피규레이션파일을 사용합니다(/etc/apt/sources.list
네트워크 또는 이동식 저장 매체에서 사용할 수 있는 패키지(예: 설치되지 않은 패키지에 대한 정보)를 검색하여 가져옵니다.
APT는 apt-get의 충돌 해결 시스템에서 내린 결정을 재정의하는 다른 명령 옵션을 제공합니다.한 가지 옵션은 패키지의 특정 버전을 강제 적용하는 것입니다.이로 인해 패키지가 다운그레이드되어 의존 소프트웨어가 동작 불능이 될 수 있으므로 사용자는 주의해야 합니다.
마지막으로,apt_preferences
메커니즘을 사용하면 개별 패키지에 대한 대체 설치 정책을 만들 수 있습니다.
사용자는 POSIX 정규 표현을 사용하여 패키지를 지정할 수 있습니다.
APT는 캐시된 패키지 목록을 검색하고 설치 또는 업데이트해야 하는 종속성을 나열합니다.
APT는 종속성을 자동으로 검색, 구성 및 설치합니다.
트리거는 지연된 액션 처리입니다.
업데이트, 업그레이드 및 원격 업그레이드
사용 모드apt
그리고.apt-get
에는, 인스톨 되고 있는 패키지의 갱신이 용이하게 됩니다.
update
패키지 인덱스파일을 소스로부터 재동기화하기 위해서 사용합니다.사용 가능한 패키지 목록은 에서 지정한 위치에서 가져옵니다./etc/apt/sources.list
예를 들어 Debian 아카이브를 사용하는 경우 이 명령어는 다음 명령어를 검색하여Packages.gz
새로운 패키지 및 업데이트된 패키지에 대한 정보를 사용할 수 있도록 합니다.upgrade
는 에 열거된 소스에서 현재 시스템에 설치되어 있는 모든 패키지의 최신 버전을 설치하기 위해 사용됩니다./etc/apt/sources.list
사용 가능한 새로운 버전으로 현재 설치된 패키지는 검색 및 업그레이드됩니다.현재 설치된 패키지가 삭제되지 않았거나 아직 설치되지 않은 패키지가 검색 및 설치되었습니다.다른 패키지의 설치 상태를 변경하지 않고 업그레이드할 수 없는 현재 설치된 패키지의 새 버전은 현재 버전으로 유지됩니다.full-upgrade
(apt
)와dist-upgrade
(apt-get
의 기능을 수행하는 것 외에upgrade
또, 새로운 버전의 패키지에 의한 의존 관계 변경도 인텔리전트하게 처리합니다.apt
그리고.apt-get
「스마트한」 충돌 해결 시스템을 갖추어, 필요에 따라서 중요도가 낮은 패키지를 희생하고, 가장 중요한 패키지를 업그레이드하려고 합니다.그/etc/apt/sources.list
file에는, 목적의 패키지 [4]파일을 취득하는 로케이션의 리스트가 포함되어 있습니다.file에는 보다 스마트한 파일이 있습니다.dist-upgrade
라고 하는 기능full-upgrade
를 클릭합니다.[11]
구성 및 파일
/etc/apt
에는 APT 구성 폴더 및 파일이 포함되어 있습니다.
apt-config
APT Configuration [12]Query 프로그램입니다. apt-config dump
에 [13]설정을 나타냅니다.
파일
/etc/apt/sources.list
: 패키지를 가져올 위치.[14]/etc/apt/sources.list.d/
: 추가 소스 목록 fragment./etc/apt/apt.conf
: APT 컨피규레이션파일/etc/apt/apt.conf.d/
: APT 컨피규레이션파일 fragment/etc/apt/preferences.d/
: 버전 프리퍼런스파일이 있는 디렉토리.여기서 "pinning"을 지정할 수 있습니다.즉, 특정 패키지를 다른 소스 또는 다른 버전의 배포에서 가져오는 선호도입니다./var/cache/apt/archives/
: 검색된 패키지 파일의 저장 영역입니다./var/cache/apt/archives/partial/
: 전송 중인 패키지 파일 저장 영역./var/lib/apt/lists/
: 에 지정된 각 패키지리소스의 상태 정보를 저장하는 영역sources.list
/var/lib/apt/lists/partial/
: 전송 중인 국가 정보의 저장 영역.
원천
APT는 소프트웨어를 찾고 종속성을 해결하기 위해 저장소 개념을 사용합니다.APT의 경우 저장소는 인덱스 파일과 함께 패키지가 들어 있는 디렉토리입니다.네트워크 또는 CD-ROM 로케이션으로 지정할 수 있습니다.2021년 [update]8월 14일 현재, Debian 프로젝트는 50,000개가 넘는 소프트웨어 패키지의 중앙 저장소를 다운로드 및 [15]설치할 수 있도록 유지하고 있습니다.
APT의 sources.list 구성 파일에 원하는 수의 저장소를 추가할 수 있습니다./etc/apt/sources.list
APT에 의해 조회됩니다.그래픽 프런트 엔드로 많은 경우 수정 가능sources.list
더 간단하게 (apt-setup
패키지 저장소를 지정하면(시스템 설치 시 등), 소스 지정 없이 해당 저장소에 패키지를 설치할 수 있으며 자동으로 최신 상태로 유지됩니다.
네트워크 저장소 외에 콤팩트 디스크 및 기타 스토리지 미디어(USB 키 드라이브, 하드 디스크 등)도 사용할 수 있습니다.apt-cdrom
[16] 또는 추가file:/
소스[17] 목록 파일에 URI를 지정합니다. apt-cdrom
CD-ROM 이외의 폴더를 지정할 수 있습니다.-d
옵션(즉, 하드 디스크 또는 USB 키 드라이브)을 선택합니다.다운로드 가능한 Debian CD에는 Debian 저장소가 포함되어 있습니다.이것에 의해, 네트워크 접속되어 있지 않은 머신을 업그레이드할 수 있습니다.사용할 수도 있습니다.apt-zip
.
복수의 소스가 같은 패키지를 제공하는 경우 문제가 발생할 수 있습니다.이와 같이 상충하는 선원이 있는 시스템에서는 APT 핀 접속을 사용하여 어떤 선원을 선호하는지 제어할 수 있습니다.
APT 핀 접속
APT 고정 기능을 사용하면 사용자는 APT가 다른 저장소에서 다른 버전으로 사용할 수 있는 특정 버전의 패키지를 선택하도록 강제할 수 있습니다.이를 통해 관리자는 시스템상의 다른 패키지와 경합할 수 있는 버전 또는 예기치 않은 변경에 대해 충분히 테스트되지 않은 버전으로 패키지가 업그레이드되지 않았는지 확인할 수 있습니다.
이를 위해 APT의 기본 설정 파일에 있는 핀(/etc/apt/preferences
그래피컬 프런트엔드로 인해 핀 접속이 간단해지는 경우가 많지만 )[18]을 변경해야 합니다.
프론트 엔드

APT의 다른 프런트 엔드는 몇 가지 존재하며, 이는 보다 고급 설치 기능과 직관적인 인터페이스를 제공합니다.여기에는 다음이 포함됩니다.
- GTK 그래피컬 사용자 인터페이스인 Synaptic
- Ubuntu Software Center, Ubuntu 프로젝트에서 개발한 GTK 그래픽 사용자 인터페이스
- 적성, CLI 및 ncurses 기반 TUI 인터페이스를 갖춘 콘솔클라이언트
- KPackage, KDE의 일부
- KDE(deb, rpm, bsd)용 그래픽 사용자 인터페이스인 Adapt 패키지 관리자
- PackageKit, freedesktop.org 프런트엔드
- GDebi는 Ubuntu를 후원하는 GTK 기반의 툴입니다.(Ubuntu 저장소에서 gdebi-kde로 사용할 수 있는 Qt 버전도 있습니다.)
- apt-cdrom - APT의 사용 가능한 저장소 목록(sources.lists)에 새 CDROM을 추가하는 방법입니다.CD를 APT 시스템에 추가하려면 apt-cdrom을 사용해야 합니다. 손으로 CD를 추가할 수 없습니다.
- apt-zip은 이동식 미디어, 특히 USB 플래시 드라이브에서 apt를 사용하는 방법입니다.
- aptURL은 [19][20]최종 사용자 애플리케이션을 브라우저를 통해 한 번의 클릭으로 설치할 수 있는 Ubuntu 소프트웨어 패키지입니다.
- APT 기반 탈옥 iOS 패키지 매니저 Cydia(Telesphoreo [21][22]프로젝트의 일부로 iOS에 이식)
- Sileo는 Cydia와 마찬가지로 새로운 버전의 APT(Electra 팀이 iOS로 이식)를 기반으로 탈옥한 iOS의 패키지 매니저입니다.
- GTK/GNOME 기반의 그래피컬 프론트 엔드인 gnome-apt.Harbase[23] Pennington
- Muon 검출(이전 Muon 소프트웨어 센터), Qt 기반의 그래피컬 사용자 인터페이스
- Hildon 어플리케이션 매니저(Maemo 어플리케이션), Maemo 프론트 엔드
- apticron: 시스템 관리자(sysadmin)에게 보류 중인 업데이트 알림을 이메일로 보내기 위해 cron 경유로 실행되도록 설계된 서비스입니다.
- APT Daemon은 사용자가 PolicyKit을 통해 소프트웨어를 설치할 수 있는 서비스로 실행되며 Ubuntu 소프트웨어 센터(Linux Mint 소프트웨어 매니저와 함께)에서 사용하는 프레임워크입니다.
- 패키지 설치 프로그램, MX Linux의 일부입니다.[1]
- 아파트 오프라인:인터넷에 직접 연결하지 않고 Debian 유형의 Linux 설치를 컨테이너 없이 변경할 수 있는 편리한 방법입니다.단, 관련된 유형의 Linux에 Apt-offline을 설치하고 소스 목록에 PPA를 추가하는 등의 일시적인 직접 연결이 필요할 수 있습니다.
APT 프론트 엔드는 다음과 같습니다.
- 새로운 패키지 검색
- 업그레이드 패키지
- 패키지 설치 또는 삭제 및
- 전체 시스템을 새 릴리스로 업그레이드합니다.
APT 프런트엔드는 설치 또는 업그레이드 중인 패키지의 종속성을 나열할 수 있습니다.새로 설치된 패키지에서 권장 또는 제안된 패키지도 함께 설치해야 하는지 관리자에게 문의하여 종속성을 자동으로 설치하고 오래된 파일 및 패키지 제거 등의 작업을 시스템에서 수행할 수 있습니다.
역사
그 첫 번째 대처는apt-get
프로그램은dselect
코드네임 [24]God로 알려진 대체 프로젝트입니다.이 프로젝트는 1997년 당시 Debian 릴리즈 매니저였던 Brian White에 의해 의뢰되었습니다.의 첫 번째 기능 버전apt-get
호출되었다dpkg-get
새로운 사용자 인터페이스(UI)[25]를 뒷받침하는 핵심 라이브러리 기능을 위한 테스트 프로그램일 뿐입니다.
APT의 초기 개발의 대부분은 인터넷 중계 채팅(IRC)에서 이루어졌기 때문에, 기록은 없어지고 있다.'Deity Creation Team' 메일링 리스트 아카이브에는 주요 내용만 포함되어 있습니다.
'Deity'라는 이름은 이름의 종교적 특성에 대한 우려로 인해 프로젝트의 공식 명칭으로 폐기되었다.APT의 명칭은 내부 및 공개적인 상당한 논의를 거쳐 최종적으로 결정되었습니다.최종적으로는 IRC에 이름이 제안되어 받아들여지고 메일링 [26]리스트에서 최종 확정되었습니다.
APT는 1998년에 도입되어 원래의 테스트 빌드가 IRC에 배포되었습니다.그것을 포함한 최초의 데비안 버전은 1999년 [27]3월 9일에 발매된 데비안 2.1이었다.
결국, 신 프로젝트의 원래 목표는 대체되는 것입니다.dselect
사용자 인터페이스가 실패했습니다.프로젝트의 사용자 인터페이스 부분에 대한 작업은 첫 번째 공개 출시 이후 중단되었습니다(동시 버전 시스템에서 사용자 인터페이스 디렉토리가 제거됨).apt-get
APT에 대한 대응dselect
방법과 명령줄 유틸리티는 매우 훌륭하고 긍정적이기 때문에 모든 개발 노력이 도구의 유지 보수와 개선에 집중되었습니다.한참 후에야 여러 명의 독립된 사람들이 그 위에 사용자 인터페이스를 구축했습니다.libapt-pkg
.
결국 새로운 팀이 프로젝트를 시작하고 새로운 기능을 구축하기 시작했으며 강력한 암호화 서명을 사용하여 패키지 [28]저장소를 인증하는 Secure APT 기능을 도입한 APT 버전 0.6을 출시했습니다.
변종
APT는 원래 dpkg의 프런트 엔드로 설계되어 Debian의 Debian과 연동됩니다..deb
패키지.RPM 패키지 매니저 시스템에서도 작동하도록 수정된 APT 버전이 APT-RPM으로 [29]출시되었습니다.Fink 프로젝트는 자체 패키지 관리 [30]작업을 위해 APT를 Mac OS X로 포팅했으며 APT는 OpenSolaris에서도 사용할 수 있습니다.
apt-file의
apt-file은 APT와 별도로 패키지화된 명령어로, 특정 파일이 포함된 패키지를 찾거나 패키지에 포함된 모든 파일을 원격 저장소에 [31]나열합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "Initial release". apt package changelog. The Debian project. 31 March 1998. Retrieved 18 December 2021.
- ^ "Details of package apt in bullseye". Debian packages. The Debian project. 10 June 2021. Retrieved 18 December 2021.
- ^ "Accepted apt 2.4.5 (source) into unstable". Debian package tracker. The Debian project. 8 April 2022. Retrieved 9 May 2022.
- ^ a b c "apt-get(8)". Debian Manpages. Retrieved 18 December 2021.
- ^ Byfield, Bruce (9 December 2004). "An apt-get primer". Retrieved 18 December 2021.
- ^ "From the archives: the best distros of 2000". Tux radar. Archived from the original on 26 July 2020.
- ^ Dorgan, David (19 January 2004). "Migrating to Debian". linux.ie. Archived from the original on 13 May 2006.
- ^ "Mobile Linux development with Familiar and a minimal Debian". Mobile Tux. Archived from the original on 15 September 2008.
- ^ "Why Debian". Retrieved 18 December 2021.
- ^ "Debian policy manual". Retrieved 18 December 2021.
- ^ "Discussion on dist-upgrade vs. full-upgrade". Retrieved 18 December 2021.
- ^ "apt-config(8)". Debian Manpages. Retrieved 18 December 2021.
- ^ "Query APT configuration using apt-config - Debian admin". Retrieved 18 December 2021.
- ^ "SourcesList". Debian Wiki. Retrieved 18 December 2021.
- ^ "Debian 11 "bullseye" released". www.debian.org. Retrieved 2022-05-11.
- ^ "apt-cdrom(8)". Debian Manpages. Retrieved 27 December 2021.
- ^ e.g. deb file:/mnt/install stable main contrib non-free.
{{citation}}
: CS1 유지보수: 포스트스크립트(링크) - ^ "AptConfiguration". Debian Wiki. Retrieved 2020-05-18.
- ^ "AptURL". Ubuntu Wiki. Retrieved 27 December 2021.
- ^ "How to install software in Ubuntu Linux: A complete guide for newbie". 17 June 2018. Retrieved 27 December 2021.
- ^ Jurick, David (2009). iPhone hacks: Pushing the iPhone and iPod touch beyond their limits. O'Reilly Media, Inc. p. 20. ISBN 9780596516642. Retrieved 27 December 2021.
- ^ Adhikari, Richard (20 March 2008). "Android, Schmandroid: Linux on the iPhone". LinuxInsider. Retrieved 27 December 2021.
- ^ Mullikin, Glenn (December 2001). "The evolution of Debian package management systems". AUUGN. Vol. 22, no. 4. p. 50. ISSN 1035-7521.
gnome-apt was written by Havoc Pennington
- ^ White, Brian C. (11 April 1997). ""dselect" replacement project ("deity")". [email protected] (Mailing list).
- ^ Gunthorpe, Jason (2 March 1998). "It's working". [email protected] (Mailing list).
- ^ Gunthorpe, Jason (19 March 1998). "Re: 2 things (!)". [email protected] (Mailing list).
- ^ "A brief history of Debian". debian.org. Archived from the original on 24 August 2003.
- ^ "Secure APT". Debian Wiki. Retrieved 27 December 2021.
- ^ "APT-RPM". apt-rpm.org. Archived from the original on 21 April 2008. Retrieved 27 December 2021.
- ^ "Fink - About". www.finkproject.org. Archived from the original on 11 May 2008. Retrieved 27 December 2021.
- ^ "Inspecting and extracting Debian package contents". Packagecloud blog. 13 October 2015. Retrieved 27 December 2021.
외부 링크
- Debian 유지관리 명령 설명서 –
- 적절한 사용법
- 적절한 튜토리얼
- 제2장데비안 패키지 관리 - 데비안 레퍼런스