답변:
aptitude는 apt-get / apt-cache와 마찬가지로 dpkg의 래퍼이지만 검색 / 설치 / 제거 / 쿼리를위한 원 스톱 상점 도구입니다. 적절하지 않은 몇 가지 예는 다음과 같습니다.
$ aptitude why libc6
i w64codecs Depends libc6 (>= 2.3.2)
$ aptitude why-not libc6
Unable to find a reason to remove libc6.
$ aptitude show libc6
Package: libc6
State: installed
Automatically installed: no
Version: 2.9-4ubuntu6
Priority: required
Section: libs
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 12.1M
Depends: libgcc1, findutils (>= 4.4.0-2ubuntu2)
Suggests: locales, glibc-doc
Conflicts: libterm-readline-gnu-perl (< 1.15-2),
tzdata (< 2007k-1), tzdata-etch, nscd (< 2.9)
Replaces: belocs-locales-bin
Provides: glibc-2.9-1
Description: GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs
on the system. This package includes shared versions of the standard
C library and the standard math library, as well as many others.
aptitude
최신 버전조차도 apt
할 수 없다는 것을 알고있는 다른 속임수 : 설치된 이름이나 설명이있는 aptitude search '~i linux'
패키지를 검색합니다 linux
. aptitude search '~o'
더 이상 사용되지 않는 패키지 (더 이상 저장소에서 제공하지 않는 설치된 패키지)를 나열합니다. aptitude search '!~M ~i'
자동 설치로 표시되지 않은 패키지를 표시합니다. aptitude search '~i lib.*-dev'
쇼는 개발 라이브러리를 설치하고 교체 할 수 search
로 markauto
또는 unmarkauto
이러한 패키지는 자동 또는 수동으로 설치 표시 할 수 있습니다.
mikeage@linode ~$ aptitude -h | tail -n 1
This aptitude does not have Super Cow Powers.
mikeage@linode ~$ apt-get -h | tail -n 1
This APT has Super Cow Powers.
mikeage@linode ~$ aptitude moo
There are no Easter Eggs in this program.
mikeage@linode ~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
mikeage@linode ~$ aptitude -v moo
There really are no Easter Eggs in this program.
mikeage@linode ~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
mikeage@linode ~$ aptitude -vvv moo
Stop it!
mikeage@linode ~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
mikeage@linode ~$ aptitude -vvvvv moo
All right, you win.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
mikeage@linode ~$ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
현재 데비안 설치 프로그램 에서 사용되며 릴리스 노트에서 권장 되는 공식 도구 는 aptitude
입니다.
적성은 (모든 매개 변수없이 실행)를 저주 인터페이스와 거의 모든 것을 할 수있는 명령 줄 인터페이스를 제공합니다 apt-cache
/이 apt-get
수행합니다. 또한 여러 솔루션을 탐색 할 수있는 더 나은 종속성 해결 프로그램이 있습니다. 명령 행 버전을 사용하는 경우에도 제안 된 솔루션과 상호 작용하고 추가 주문 또는 힌트 (예 : 다른 패키지에서 권장하는 패키지 설치 또는 제거)를 제공 할 수 있습니다.
그러나 적성은 libapt 라이브러리 (dpkg의 직접 래퍼가 아님)를 기반으로 apt
하므로 패키지에 따라 다르 므로 apt-get없이 apt-get (apt 패키지에도 있음)을 설치할 수 없습니다.
$ dpkg --status aptitude| grep Depends
Depends: libapt-pkg-libc6.9-6-4.7, [...]
$ dpkg --status apt|grep Provides
Provides: libapt-pkg-libc6.9-6-4.7
$ dpkg --search /usr/lib/libapt-pkg-libc6.9-6.so.4.7 /usr/bin/apt-get
apt: /usr/lib/libapt-pkg-libc6.9-6.so.4.7
apt: /usr/bin/apt-get
apt / dpkg / aptitude의 상호 작용 방식에 대한 자세한 내용은 Daniel Burrows (aptitude의 주요 저자)가 작성한 다이어그램을 확인하십시오 . 다른 다이어그램은 다양한 패키지 관리 도구에 의해 저장된 정보를 제공 합니다 . apt 및 dpkg 상태 파일의 맵 .
당신은 또한 나의 기사 apt-get, aptitude를 읽을 수있다 .…
aptitude
의도적으로 설치 한 패키지와 종속성을 충족시키기 위해 자동으로 설치된 패키지를 기억합니다. 적절한 패키지를 제거하면 시스템을 깔끔하게 유지하기 위해 자동으로 설치된 패키지를 제거합니다. apt-get
그렇게 똑똑하지 않습니다.
aptitude
다른 버전의 패키지와 함께 다른 리포지토리를 사용하면 빠르게 필수 도구가됩니다. backports.org 또는 debian-multimedia.org 와 같은 비공식 저장소를 사용한다고 가정하십시오 . 그런 다음 aptitude
특정 패키지의 세부 정보 페이지 하단에 사용 가능한 버전 번호가 표시되고 하나를 선택할 수 있습니다.
비공식 저장소의 사용으로 인해 프로그램이 충돌하는 상황이 발생 하면 상단에 "Broken : ..."이 표시됩니다. 당신은 입력 할 수 있습니다 리터 ~ B (제한 / 플래그 / 부서) 및 단지 서로 충돌 패키지의 목록을 얻을. 충돌을 수동으로 훨씬 쉽게 해결합니다.
또한 " l
"를 사용 하여 패키지 목록을 제한 할 수 있습니다 . " openoffice "로 시작하는 패키지를 찾은 다음 ""를 누르고 l
" ^openoffice
"(정규 표현식)를 입력하면 해당 패키지 만 표시됩니다. 메뉴에서 "플랫 패키지 목록" 을 선택하면 목표를 빠르게 달성 할 수 있습니다.
전체 핸드북은 매우 커서 더 많은 필터와 가능성을 제공합니다. 당신이 그것들을 알지 못하더라도 aptitude
편리한 대체품이며 다음 apt-get
과 같은 일반적인 매개 변수와 함께 사용할 수 있습니다.
aptitude install ... (install or upgrade a package)
aptitude remove ... (remove the binary portions of a package but preserve your /etc configuration)
aptitude purge ... (remove the package completely including your configuration)
apt-get autoremove
이제는 제거 된 패키지의 종속성으로 설치된 패키지를 제거합니다.
apt
그것은 재료의 혼합물 할 수 apt-get
및 apt-cache
수행하는 데 사용합니다. 예를 들어, 이름이나 설명에 apt search foo
포함 foo
된 패키지를 나열합니다 . 사용 가능한 경우 apt install foo
호출 된 패키지를 설치 하고 현재 설치된 버전 및 사용 가능한 모든 버전의 패키지를 나열합니다 . foo
apt policy foo
foo
aptitude
여전히보다 더 많은 작업을 수행 할 수 apt
있지만 보통은 apt
훨씬 더 빨리 종종있다.
aptitude
인수없이 실행할 때 예쁜 콘솔 UI를 제공하는 것 외에도 다양한 apt-*
명령 (및 dselect
)을 하나의 유틸리티로 결합 합니다.
apt-get을 사용하여 패키지를 검색하고 설치하려면 다음을 수행하십시오.
apt-cache search somepkg
apt-get install somepkg
.. 그러나 적성과 같은 명령입니다 :
aptitude search somepkg
aptitude install somepkg
aptitude
aptitude changelog somepkg
패키지를 유지 하는 등의 추가 기능 (업그레이드 중지)과 같은 추가 기능이 있습니다. 다른 명령 / 메소드를 통해 달성 할 수없는 것은 더 통합되고 사용하기에 좋습니다.
패키지를 설치할 때 다른 패키지 (종속성)가 필요한 경우에도 다운로드 및 설치됩니다. aptitude는 설치 시점에 설치된 패키지와 함께 제공되는 패키지를 추적하므로 후자의 aptitude를 제거하면 다른 (현재는 사용되지 않은) "분리 된"종속성의 제거를 요청합니다. "기본"패키지를 제거하면 apt-get은 시스템에 자동으로 보관합니다.
최신 버전의 apt-get은 비슷한 기능을 가지고 있습니다 : http://www.psychocats.net/ubuntu/aptitude
aptitude
또는 apt
실제로 특정 패키지의 종속성으로 설치된 패키지 목록을 유지하지 않습니다. 패키지가 수동 또는 자동으로 설치되었는지 추적합니다. 패키지가 자동으로 설치 표시하고 다른 패키지 따라 다름없는 또는 추천 된 경우, 그것은 제거됩니다 apt autoremove
나 aptitude dist-upgrade
.
가장 큰 차이점은 매개 변수가없는 "적당"유형입니다.
그것은 당신에게 텍스트 기반의 사용자 인터페이스를 제공하고, keybord를 사용하여 검색 / 탐색 등을 할 수 있습니다. 의존성, 역 의존성, 사용 가능한 모든 버전의 패키지에 대한 정보를 볼 수 있으며 해당 화면에서 패키지 관리자 작업을 수행 할 수 있습니다.
"g"를 눌러 변경 사항을 검토하고 필요한 경우 패키지 추가 및 제거를 수정하고 보류중인 모든 작업을 적용 할 수 있습니다.
ssh 연결 또는 일반 구형 터미널을 통한 훌륭한 시각적 패키지 관리 방법입니다.