답변:
apt-get과 aptitude는 동일한 패키지 관리 시스템 인 APT (Advanced Packaging Tool)의 일부인 다른 UI입니다 . 예를 들어, 둘 /etc/apt/apt.conf
다을 사용 하여 구성 되며 둘 다 동일한 파일 공간 및 형식을 사용하여 패키지 상태를 나타내며 다운로드 한 .deb를 저장하는 동일한 파일 공간을 사용합니다.
차이점은 패키지 간의 잠재적 충돌을 나타내는 내부 규칙 시스템, 패키지를 해결하는 방법 (예 : apt-get dist-upgrade
vs. aptitude full-upgrade
) 및 사용자와 상호 작용할 때이를 표현하는 방법입니다. 일반적으로 말하자면 까다로운 상황에서는 둘 다 잘못된 일을 할 수 있지만 apt-get은 적성보다 잘못 될 가능성이 훨씬 높습니다.
많은 좋은 조언이 이미 있지만 아무도 언급하지 않은 것을 추가하겠습니다. 전환하기로 결정한 경우 다음 작업에 따라이 명령을 실행할 수 있습니다 apt-get
.
aptitude keep-all
이 명령 aptitude
은 고아가되는 패키지에 대한 의미를 재설정 하고 제거해야합니다.
여기 가끔 유용한 이유는 다음과 같습니다 잠시 지금, 모두 apt-get
와 aptitude
자동으로 다른 무언가의 종속성으로 설치 한 패키지를 추적합니다. 예를 들어를 설치 하면 종속성으로 mpd
나타날 수 있습니다 lib-so-and-so
. 나중에 제거하면 있도록 그들은, 이렇게 mpd
, lib-so-and-so
너무 제거됩니다. 그러나 aptitude
및 apt-get
취급이 다르게 정리. aptitude
모든 고립 된 종속성을 즉시 제거하려고 시도합니다. 그러나 apt-get
단지 당신 apt-get autoremove
이 청소 를 실행 하는 것을 제안 합니다. (이 모든 뒤에 논리는 이후에만 라이브러리를 가지고 있다는 것입니다 mpd
그것을 필요로. 당신은 유지하지 않는 경우 mpd
, 당신은 더 이상 라이브러리를 필요가 없습니다. 경우 다른 패키지는 여전히에 따라, 다음 모두 aptitude
와apt-get
이것을 알고 라이브러리를 제거하려고 시도하지 않습니다.)
내 요점이 뭐야? 글쎄, 당신은 지속적인 덩어리가 실행되는 것을 보았고로 apt-get autoremove
전환 aptitude
하면 처음으로 무언가를 설치하려고 할 때 충격을받을 수 있습니다. aptitude
모든 고아를 곧바로 제거하려고합니다. 일반적으로 이것은 괜찮을 것입니다 (결국 고아이며 필요하지는 않습니다).하지만 복잡한 사례가 하나 있습니다. 데스크톱 메타 패키지에는 모두 개별 패키지가 가상 패키지 래퍼의 종속성으로 사용되는 복잡한 종속성 체인이 포함됩니다. 예를 들어, gnome
패키지 를 설치하여 Gnome을 설치 한 경우 모든 일반 데스크탑 프로그램이 종속성으로 설치되었습니다. 이러한 프로그램 중 하나를 제거한 경우 (예 : Ekiga 또는 Gedit)aptitude
나머지 데스크탑도 제거해야합니다. 그 참고 aptitude
항상 사물을 제거하기 전에 요청하지만, 사람들은 읽지 않고 'Y'를 입력합니다. 내 경험상, 이것은 데비안을 처음 접하는 사람들에게 가장 흔한 불만 / 혼란입니다.
두 가지 일반적인 조언 :
aptitude
거나 apt-get
아무것도 네 말을하기 전에주의 깊게.aptitude -s safe-upgrade
또는을 사용하여 항상 드라 이런을 수행 할 수 있습니다 aptitude -s install foo
. -s|--simulate
플래그는 당신의 친구입니다.몇 년 전 데비안 메일 링리스트에서 apt-get에서 aptitude로 전환하는 것이 위험하다고 말했다. 이것은 10 년 전의 두 가지 데비안 버전입니다. 이 모든 문제는 현재 해결 된 것으로 보이며, 데비안이나 우분투에서 문제를 보지 못했습니다.
apt-get
로 전환하는 것에 대해 걱정하는 사람들이 많이있었습니다 aptitude
. 당시에는 많은 필수 기능을 매우 다르게 처리했습니다. 시간이 지남에 따라, 그들은 훨씬 더 유사 해졌고 aptitude
, 톤을 성숙 시켰습니다. 현재 사례의 90 %를 전환하면 문제가 없어야합니다. 한 가지 경우에 대한 내 게시물을 참조하십시오.
또한 계속 사용한다고 말하고 싶습니다 aptitude
.
Aptitude
보다 더 나은 종속성 관리 기능이 apt-get
있습니다. 이렇게하면 고아 패키지 수가 적어집니다.
나는 이전 aptitude
보다 더 나은 dist 업그레이드 알고리즘을 가지고 apt-get
있습니다. 그러나 그것은 시스템의 수명에 자주 사용되지 않기 때문에 킬러 기능은 아닙니다.
또한 하나의 도구로 더 많은 것을 통합 할 수 있습니다. 오히려 호출 할 때 기억보다는 apt-get
, apt-cache
또는 dpkg
난 그냥 적성을 사용 할 대부분의 일을 얻을 전환하는과.
"중간에서"전환 할 때의 합병증에 관해서는, 내가 할 때 어떤 것도 기억하지 못합니다.
그들은 같은 백엔드에 대한 다른 인터페이스가 아닌가?
aptitude
더 특징적인 인터페이스입니다 ...
dpkg
입니다. 하지만 dpkg
단지 패키지를 설치; 검색, 종속성 해결 및 다운로드를 담당하는 프런트 엔드입니다.
내 경험상 패키지 버전을 고정하는 다른 방법이 있습니다. 필자의 경우, 향후 업데이트로부터 안전하다고 가정하고 특정 패키지를 잠그는 데 적성을 지시했습니다. 내가 틀렸어; apt-get을 사용하는 cron 예약 업데이트 관리자가 내 실망으로 업그레이드합니다.
Drats,이 글을 쓰는 동안 나는 googled하고 버그 ( # 557580 aptitude가 preferences.d / *의 핀에 순종하지 않음)가 이미 수정 되었음을 알았습니다 !
나는 아무런 문제없이 apt-get과 aptitude를 모두 사용합니다 : 나는 같은 질문을 가지고 있습니다 ... 사람들은 왜 이것을 말합니까 ??? :디
계속해서 걱정하지 마십시오. 적성은 apt-get의 텍스트 GUI 일뿐입니다. 예를 들어 명령 줄 응용 프로그램으로 사용할 수도 있습니다 (예 apt-get install foo
:와 동일) aptitude install foo
.
문안 인사
apt-get
종속성으로 만 설치된 패키지의 자동 제거 기능도 제공합니다. 그 점에서 나머지 차이점은 aptitude
(적절한 경우) 종속성 을 즉시 제거하지만 apt-get
명령을 실행하도록 자극한다는 것 apt-get autoremove
입니다. 그러나 지금은 같은 방식으로 종속성을 추적합니다. 그러나 여전히 복잡한 종속성 및 엣지 케이스 (매우 복잡한 설치 또는 제거)를 처리하는 데있어 차이가 있지만, 대부분의 사람들과 대부분의 상황에서 동일하게 작동합니다.
aptitude
바로 제거하지만apt-get
명령을 입력하여 제거하라는 메시지 만 표시합니다apt-get autoremove
. 일반적으로 동일한 항목을 제거하려고합니다. 그러나 이에 동의하지 않는 복잡한 경우는이 링크를 참조하십시오. forums.debian.net/viewtopic.php?f=10&t=49589&start=0