나는 그것을 알고 있으며 apt-get
둘 다 aptitude
Debian에서 파생된 Linux의 명령줄 패키지 관리 인터페이스이며 다른 옵션이 있지만 여전히 약간 혼란스럽습니다. 그 이면에는 동일한 APT 시스템을 사용하고 있는 것은 아닐까?
데비안은 왜 이러한 병렬 도구를 유지합니까? (보너스 질문: 정확히 무엇입니까?와지그? )
답변1
가장 분명한 차이점은 aptitude
터미널 메뉴 인터페이스(터미널의 Synaptic과 유사)를 제공하지만 apt-get
그렇지 않다는 것입니다.
두 가지의 명령줄 인터페이스만 고려하면 매우 유사하며 대부분의 경우 어느 것을 사용하는지는 중요하지 않습니다. 두 가지 최신 버전 모두 수동으로 설치된 패키지와 종속성으로 설치된 패키지(따라서 자동 제거 가능)를 추적합니다. 사실 최근에도 두 도구가 수동으로 설치한 패키지와 자동으로 설치한 패키지의 동일한 데이터베이스를 실제로 공유하도록 업데이트되었다고 생각합니다. 따라서 apt-get을 사용하여 무언가를 설치한 다음 적성을 제거하려는 상황은 주로 사건은 과거입니다.
몇 가지 미묘한 차이점이 있습니다.
- aptitude는 적합한 패키지를 자동으로 제거하는 반면 apt-get은 이를 수행하기 위해 별도의 명령이 필요합니다.
- 명령은업그레이드그리고원격 업그레이드더 정확한 이름으로 이름이 변경되었습니다.보안 업그레이드그리고종합적인 업그레이드, 각각.
- aptitude는 실제로 apt-get의 기능뿐만 아니라 apt-cache 및 apt-mark와 같은 일부 지원 도구도 수행합니다.
- aptitude는 검색 쿼리 구문이 약간 다릅니다(apt-cache와 비교).
- 자격왜그리고왜 안 돼명령은 무엇을 알려줍니까?수동 설치패키지가 수행하려는 작업을 차단하고 있습니다.
- 수행하려는 작업(패키지 설치, 제거, 업데이트)으로 인해 충돌이 발생하는 경우 aptitude는 여러 가지 가능한 솔루션을 제안할 수 있습니다. apt-get은 "죄송합니다, Dave, 당신이 이 일을 하도록 허락할 수 없습니다."라고 말할 것입니다.
그 밖에도 몇 가지 미묘한 차이점이 있지만 이것이 제가 생각할 수 있는 가장 중요한 차이점입니다.
간단히 말해서 적성은 Synaptic 및 기타 상위 수준 패키지 관리자 프런트 엔드 범주에 더 잘 맞습니다. 또한 apt-get과 유사한 명령줄 인터페이스도 있습니다.
보너스 라운드: wajig가 무엇인가요?
apt-cache
내가 와 같은 "동반자" 도구를 어떻게 언급했는지 기억하시나요 apt-mark
? 글쎄요, 그것들이 많이 있고 자주 사용한다면 어떤 것이 어떤 명령을 제공하는지 기억하지 못할 수도 있습니다. wajig
이 문제에 대한 해결책입니다. 이는 본질적으로 스케줄러, 즉 이러한 모든 도구를 둘러싸는 래퍼입니다. sudo
필요한 경우에도 적용됩니다. 라고 말하면 wajig install foo
wajig는 "확인, 관리자 권한 install
이 제공되었으며 apt-get
관리자 권한이 필요합니다"라고 말한 다음 실행됩니다 sudo apt-get install foo
. 라고 말하면 wajig search foo
wajig는 "좋아요, search
에서 제공합니다 apt-cache
. 관리자 권한이 필요하지 않습니다"라고 말한 다음 실행됩니다 apt-cache search foo
. apt-get, apt-mark, apt-cache 등 대신 wajig를 사용하면 이 문제가 발생하지 않습니다.
$ apt-get search foo
E: Invalid operation search
wajig가 배후에서 수행하는 작업과 특정 명령을 구현하는 데 사용하는 도구를 알고 싶다면 Wajig의 Wajig --simulate
와 --teaching
패턴을 참조하세요.
내가 자주 사용하는 두 가지 wajig 명령은 wajig listfiles foo
및 입니다 wajig whichpkg /usr/bin/foo
.
답변2
나는 종종 나 자신에 대해 궁금해한다.위키피디아 하이라이트주요 특징은 aptitude가 전체 화면 텍스트 모드(저주) 인터페이스를 가지고 있다는 것입니다. 대부분의 apt-get
명령 매개변수를 자체적으로 사용할 수 있다는 사실은 사용자가 명령 매개변수로 또는 그 반대로 쉽게 이동할 aptitude
수 있도록 하기 위한 설계 결정일 뿐입니다 .apt-get
aptitude
나는 그것을 사용한 적이 없지만 wajig
문서에 따르면 파일을 전달할 때 deb
(실행할 때 dpkg
) 또는 apt
패키지 이름(실행할 때 apt-get
)을 전달하는지 아는 스크립트일 뿐이라고 합니다. 시도해 보고 이것이 사실인지 확인할 수 있습니까?
틀림없이,진짜차이점은 다음과 같습니다.
gaurav@fern:~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
gaurav@fern:~$ aptitude moo
There are no Easter Eggs in this program.
답변3
aptitude는 콘솔에서 패키지 관리를 위해 선택한 프로그램으로 데비안의 패키지 설치 및 패키지 또는 시스템 업그레이드에 적합합니다.
다음은 apt-get과 관련된 도구 및 해당 기능에 대한 개요입니다. http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
그래서 제 제안은 apt-get install aptitude 입니다. :)
답변4
@Gaurav의 답변에 따르면 두 패키지 관리자의 부활절 달걀은 매우 흥미로웠습니다! :
siddhartha@siddhartha-dev:~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
..."Have you mooed today?"...
siddhartha@siddhartha-dev:~$ aptitude moo
There are no Easter Eggs in this program.
siddhartha@siddhartha-dev:~$ aptitude -v moo
There really are no Easter Eggs in this program.
siddhartha@siddhartha-dev:~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
siddhartha@siddhartha-dev:~$ aptitude -vvv moo
Stop it!
siddhartha@siddhartha-dev:~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
siddhartha@siddhartha-dev:~$ aptitude -vvvvv moo
All right, you win.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
siddhartha@siddhartha-dev:~$ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
siddhartha@siddhartha-dev:~$ aptitude -vvvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
siddhartha@siddhartha-dev:~$ aptitude -vvvvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
등.