.png)
apt-get
나는 둘 다 Debian 파생 Linux의 명령줄 패키지 관리 인터페이스 이며 다른 옵션이 있다는 것을 알고 있지만 aptitude
여전히 다소 혼란스럽습니다. 내부적으로는 동일한 APT 시스템을 사용하고 있지 않습니까?
데비안은 왜 이러한 병렬 도구를 유지합니까? (보너스 질문: 도대체 이게 뭐죠?와지그?)
답변1
가장 분명한 차이점은 aptitude
터미널 메뉴 인터페이스(터미널의 Synaptic과 유사)를 제공하지만 apt-get
그렇지 않다는 것입니다.
각각의 명령줄 인터페이스만 고려하면 매우 유사하며 대부분 어떤 것을 사용하는지는 중요하지 않습니다. 두 가지 모두 최신 버전에서는 수동으로 설치된 패키지와 종속성으로 설치된 패키지(따라서 자동 제거 가능)를 추적합니다. 사실, 최근에는 두 도구가 수동으로 설치된 패키지와 자동으로 설치된 패키지의 동일한 데이터베이스를 실제로 공유하도록 업데이트되었다고 생각합니다. 따라서 apt-get을 사용하여 무언가를 설치한 다음 적성이 이를 제거하려는 경우는 대부분 다음과 같습니다. 과거.
몇 가지 사소한 차이점이 있습니다.
- aptitude는 적격 패키지를 자동으로 제거하지만 apt-get은 이를 수행하기 위해 별도의 명령이 필요합니다.
- 다음에 대한 명령업그레이드대dist-업그레이드아마도 더 정확한 이름에 맞게 이름이 변경되었습니다.안전 업그레이드그리고전체 업그레이드, 각각.
- 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 --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으로 설정하는 것입니다. :)
답변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.
등등.