“ apt-get ”와 “ 적성 ? (“ wajig ”는 어떻습니까?)

알아요 apt-getaptitude는 Debian에서 파생 된 Linux의 명령 줄 패키지 관리 인터페이스이며 다른 옵션이 있지만 여전히 다소 혼란 스럽습니다. 내부적으로는 동일한 APT 시스템을 사용하고 있지 않습니까?

데비안은 왜 이러한 병렬 도구를 유지합니까? (보너스 질문 : wajig 는 도대체 무엇입니까?)

댓글

  • 나는 그것이 당신의 질문에 대한 정답이 아니라는 것을 알고 있지만 왜 시냅스를 시도 할 수 없습니까? 매우 사용자가 열중하고 종속성을 자동으로 다운로드하고 설치합니다. 시스템에 그놈이 없습니까?
  • ‘ 편견이 있지만 이 질문은 Ubuntu SE 사이트 가 관련 될 수 있습니다.
  • duplicate : unix.stackexchange.com/questions/244/apt-get-or-aptitude .
  • @Wim이 질문의 wajig 부분 때문에 다른 방법 대신이 질문에 244를 병합하기로 결정했습니다.
  • 적성이 예정되어 있다는 점에 주목할 가치가 있습니다. 다음 버전의 Ubuntu에서 기본 설치에서 제거하기 위해 (나중에 apt-get을 사용하여 항상 설치할 수 있음)

Answer

가장 분명한 차이점은 aptitude는 터미널 메뉴 인터페이스 (터미널의 Synaptic과 매우 유사)를 제공하는 반면 apt-get는 그렇지 않습니다.

각 인터페이스의 명령 줄 인터페이스 만 고려하면 매우 유사하며 대부분의 경우 사용하는 인터페이스는 중요하지 않습니다. 둘 다 최신 버전은 수동으로 설치된 패키지와 종속성으로 설치된 패키지를 추적하므로 자동 제거가 가능합니다. 사실 저는 최근에 두 도구가 실제로 수동으로 설치된 패키지와 자동으로 설치된 패키지의 동일한 데이터베이스를 공유하도록 업데이트되었다고 믿습니다. 따라서 apt-get으로 무언가를 설치 한 다음 aptitude가이를 제거하려는 경우는 대부분 과거.

몇 가지 사소한 차이점이 있습니다.

  • aptitude는 적합한 패키지를 자동으로 제거하지만 apt-get은이를 수행하기 위해 별도의 명령이 필요합니다.
  • upgrade dist-upgrade 에 대한 명령은 아마도 더 정확한 이름 인 safe-upgrade full-upgrade에 맞게 이름이 변경되었습니다. .
  • aptitude는 실제로 apt-get뿐만 아니라 apt-cache 및 apt-mark와 같은 일부 보조 도구의 기능을 수행합니다.
  • aptitude에는 apt-cache와 비교하여 약간 다른 검색 쿼리 구문이 있습니다.
  • aptitude에는 why why-not 명령이 있습니다. 어떤 수동으로 설치된 패키지가 수행하려는 작업을 방해하고 있습니다.
  • 수행하려는 작업 (패키지 설치, 제거, 업데이트)이 충돌을 일으키는 경우 aptitude는 몇 가지 잠재적 인 해결책을 제안합니다. apt-get은 “Dave에게 미안합니다. 그렇게하도록 허용 할 수 없습니다.”라고 말할 것입니다.

다른 작은 차이점이 있지만 이것이 제가 가장 중요한 차이점입니다. 간단히 말해서, 적성은 Synaptic 및 기타 상위 수준의 패키지 관리자 프런트 엔드와 함께 카테고리에 더 적절하게 속합니다. apt-get과 유사한 명령 줄 인터페이스도 있습니다.

Bonus Round : wajig가 무엇인가요?

apt-와 같은 “동반자”도구를 어떻게 언급했는지 기억하세요. 캐시와 apt-mark? 글쎄요, 그것들을 많이 사용한다면, 어떤 명령이 어떤 명령을 제공하는지 기억하지 못할 수도 있습니다. wajig는 그 문제에 대한 하나의 해결책입니다. 이것은 본질적으로 디스패처, 모든 도구를 둘러싼 래퍼입니다. 또한 필요한 경우 sudo를 적용합니다. wajig install foo라고 말하면 wajig는 “좋아요. installapt-get이고 관리자 권한이 필요합니다. “라는 메시지가 표시되고 sudo apt-get install foo가 실행됩니다. wajig search foo라고 말하면 wajig가”Ok, searchapt-cache에서 제공하며 관리자 권한이 필요하지 않습니다. “이며 apt-cache search foo를 실행합니다. apt-get, apt-mark, apt-cache 등 대신 wajig를 사용하면 “이 문제가 발생하지 않습니다.

$ apt-get search foo E: Invalid operation search 

원하는 경우 wajig가 백그라운드에서 수행하는 작업, 특정 명령을 구현하는 데 사용하는 도구, --simulate--teaching m odes.

내가 자주 사용하는 두 가지 wajig 명령은 wajig listfiles foowajig whichpkg /usr/bin/foo입니다.

댓글

  • 적성과 관련하여 한 가지 큰 문제는 패키지 이름 (예 : aptitude install linux-im 탭), apt-get에서는 매우 빠릅니다. apt-get 제품군에 적성이 부족한 캐싱이있는 것 같습니다.
  • aptitude에도 멋진 aptitude search 매우 강력한 검색 패턴 과 함께 사용할 수 있습니다. aptitude reinstall가 있습니다. ncurses (터미널 메뉴) 인터페이스를 사용하여 부분 업그레이드와 같은 복잡한 패키지 작업을 준비 하고, 하나의 패키지를 제거하고, 다른 패키지를 고정하고,이 항목을 업그레이드하면 단일에서 실행할 수 있습니다. 작전 … 아, 그리고 대화 형 충돌 해결사 가 있습니다.
  • @Totor 성우, 적성 사용 ‘ s ncurses 인터페이스는 명령을 준비하기 위해 나를 적성에 단번에 팔았습니다! (수년간의 사고 적성은 할 가치가 있지만 근육 기억에서 apt-get 입력)
  • … 그리고 aptitudeaptitude download package-name 패키지 .deb 파일을 가져 오세요!
  • ‘가 발견 한 것은 t는 aptitude이지만 apt-get에 있으며 이는 apt-get --compile source package-name입니다. . apt-get build-dep package-name가 존재하지만 aptitude build-dep package-name가 더 나은 일을한다고 생각합니다.

답변

자주 궁금해했습니다. Wikipedia는 적성이 전체 화면 텍스트 모드 (저주) 인터페이스입니다. 대부분의 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. 

댓글

  • 아니요! aptitude에 더 있습니다. 끝없는 -v 플래그를 moo에 넣는 것을 잊었습니다. (-vvvvvv까지 이동할 수 있습니다.)
  • ‘ 모든 중요한 Super Cow Powers를 잊지 마세요. id = “f7686ba002”>

에는 있지만aptitude에는 없습니다. (둘 다--help시도)

  • lmao. @ryan ‘의 답변이 훨씬 더 정교하지만 읽을 수있는 재미있는 답변입니다.;)
  • Answer

    aptitude는 데비안의 패키지 설치와 패키지 또는 시스템 업그레이드 모두에서 콘솔에서 패키지를 관리하는 데 선호되는 프로그램입니다.

    다음은 도구에 대한 개요입니다. apt-get에 대한 기능 : http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude

    그래서 제 조언은 just apt-get install aptitude 🙂

    댓글

    • 출시 노트 apt-get은 이제 업그레이드를위한 적성보다 권장됩니다.
    • 예,하지만 그 경우에만 해당됩니다. 그렇지 않으면 동일한 것으로 간주되지만 aptitude에는 apt-get보다 검색 및 전체 화면 모드와 같은 더 많은 고급 기능이 있습니다.
    • 어떤 이유에서인지 emacs를 설치하기 위해 aptitude를 사용했고 gdm을 제거했습니다! 그래서 지금은 apt-get을 사용할 것이지만 적성이 매우 궁금합니다.

    답변

    aptitude는 명시 적으로 요청 된 패키지와 종속성으로 인해 설치된 패키지를 기억합니다. 더 이상 필요하지 않은 경우 명시 적으로 요청되지 않은 패키지를 자동으로 제거합니다.

    apt-get는 명시 적으로 요청 된 패키지와 해당 종속성을 동일하게 처리합니다.

    aptitude를 더 잘 사용하면 시스템을 깨끗하게 유지하는 데 도움이됩니다.

    댓글

    • 이것은 사실 이었지만 내 apt-get에는 종속성으로 만 설치된 패키지를 제거하는 apt-get autoremove 명령이 있다는 것을 알고 있습니다. 이 기능이 언제 추가되었는지 ‘ 알 수 없지만 한 웹 사이트에 따르면 Debian Lenny (2010 년 6 월)에서이 기능이 추가되었을 수 있습니다.
    • apt-get autoremove는 종속성으로 설치된 패키지 만 제거하지 않고 ‘ 고아 종속성을 제거합니다. 이는 미묘한 차이입니다. ; ‘ ‘ 리프 ‘ 패키지가 의도적으로 설치되었는지 또는 종속성이 있으므로 적성이 알고 제거 할 수 있습니다.
    • ‘ 판매되었습니다! aptitude에 대한 다른 좋은 점이 있지만 이것은 손에 잡히는 킬러 기능입니다.

    답변

    apt-get 및 다양한 동반 도구는 aptitude, 조금 더 빠릅니다. 나는 32MB의 램을 가진 낡은 펜티엄 씽크 패드에서 데비안 설치를 업그레이드하려고 시도 할 때까지 이것을 알지 못했습니다. 성공적으로 완료된 apt-get를 실행하려면 1 ~ 2 시간의 스왑 스 래싱이 필요합니다. aptitude는 오랜 시간이 지나면 실패 할 것입니다.

    이 구분은 최신 데스크톱 시스템과 유사한 모든 것과 거의 관련이 없습니다.

    답변

    @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. 

    답변

    동일한 기본 기능을 제공합니다. 명령 줄에서 패키지를 설치하고 제거합니다.

    여기 에 대한 자세한 비교는 Ubuntu Stack Exchange 웹 사이트 : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749

    의견

    • 비슷한 의견으로 쉽게 전환 할 수 있습니다.

    답변

    설명 된대로 http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude에는 muc가 있습니다. h 명령 줄 인터페이스를 더 쉽게 사용할 수 있습니다.

    내부적으로는 동일한 APT 시스템을 사용하지 않습니까? 예.

    기본 시스템은 apt가 아니라 dpkg. 이 시스템은 RPM만큼 멍청하며 단일 패키지의 설치 및 관리 만 처리 할 수 있습니다. 어떤 설치된 파일이 어떤 패키지에 속하는지 추적합니다.

    apt는 모든 개별 패키지에 대한 저장소 다운로드, 종속성 추적 등을 처리합니다. dpkg를 사용하여 설치합니다. aptitude는 다른 인터페이스로 동일한 작업을 수행합니다.

    답변

    둘 다 -get and aptitude는 APT 라이브러리에 의존합니다.

    serverfault.com에서 내 답변 을 참조하세요.

    데비안은 모 놀리 식 엔티티가 아닙니다. 다른 의견을 가진 사람들이 있고 적성 유지 관리자는 apt-get에 몇 가지 단점이 있으며 적성과 함께 더 나은 것을 만들고 싶어한다고 결정했습니다. 그는 복잡한 업그레이드 시나리오에 대한 솔루션을 찾기 위해 로직을 개선하고 콘솔 용 GUI를 추가했습니다. 그리고 apt-get과 aptitude 이상의 것이 있습니다. 제 기사 apt를 참조하십시오. -get, aptitude,… 적합한 패키지 관리자를 선택하세요 .

    답변

    잘 모르겠습니다. 이것이 여전히 유효하지만 데비안 개발자 Joey Hess는 항상 apt-get보다 적성을 옹호했습니다. 물론 소프트웨어가 발전함에 따라 변화해야 할 것들이 있습니다. Apt-get은 이제 이전보다 종속성을 더 잘 처리합니다. From http://lists.debian.org/debian-user/2004/04/msg03138.html

    날짜 : 2004 년 4 월 20 일 화요일 22:27:12 -0400 보낸 사람 : Joey Hess

    apt-get 또는 dselect 대신 aptitude를 사용해야하는 9 가지 이유

    1. 적성은 apt-get처럼 보일 수 있습니다

      p>

      “aptitude update”또는 “aptitude upgrade”또는 “aptitude install”을 실행하면 apt-get처럼 보이고 작동하며 몇 가지 개선 사항이 있습니다. 따라서 학습 곡선이 없습니다.

      (dselect 사용자라면 학습 곡선은 당연히 문제가 아닙니다.)

    2. 적성 트랙 자동으로 설치된 패키지

      사용하지 않는 라이브러리 및 지원 패키지를 시스템에서 제거하는 것에 대해 걱정하지 마십시오. aptitude를 사용하여 모든 것을 설치하면 종속성만으로 가져 오는 패키지를 추적하고 다음과 같은 경우 해당 패키지를 제거합니다. 그들은 더 이상 필요하지 않습니다.

    3. 적성 처리 권장 사항

      apt-get의 오랜 실패는 Recommends 관계에 대한 지원 부족이었습니다. . 이것은 Debian의 많은 패키지가 Recommends에 의존하여 일반 사용자가 일반적으로 패키지와 함께 사용하는 소프트웨어를 가져 오기 때문에 문제가됩니다. 이는 apt-get이 최근에 권장 패키지를 최소한 언급 할 수 있었음에도 불구하고 드물지 않은 문제의 원인입니다. , 경고를 놓치기 쉽습니다.

      Aptitude는 기본적으로 Recommends를 지원하며 Suggests도 지원하도록 구성 할 수 있습니다. 명령 줄 모드에서 사용할 때 권장 패키지 설치도 지원합니다.

    4. 적성을 일반 사용자로 사용하고 시스템 호스를 피하십시오.

      그렇지 않았을 수도 있습니다. ” 일반 사용자로서 GUI 모드에서 aptitude를 실행할 수 있다는 것을 알고 계십시오. 시도하고 싶은 사항을 변경하십시오. 정말 엉망이된다면 “q”를 누르고 종료하면 변경 사항이 저장되지 않습니다. (Aptitude를 사용하면 ctrl-u를 사용하여 변경 사항을 취소 할 수도 있습니다.) 일반 사용자로 실행되기 때문에 aptitude에게 어떤 작업을 수행하도록 지시 할 때까지 시스템을 호스 할 수 없습니다. 그러면 루트 암호를 입력하라는 메시지가 표시됩니다.

    5. aptitude에는 강력한 UI와 검색 기능이 있습니다.

      aptitude의 범주 형 브라우저와 mutt 스타일 필터링 및 이름 별 패키지 검색에 대한 뛰어난 지원 사이, aptitude를 사용하기 전에 그 어느 때보 다 빠르게 패키지를 찾을 수 있어야합니다.

    6. aptitude를 사용하면 오래된 소프트웨어를 쉽게 추적 할 수 있습니다.

      데비안이 패키지 배포를 중단하면 apt는 경고와 업그레이드없이 시스템에 무기한으로 남겨 둘 것입니다. Aptitude는 “오래되고 로컬에서 생성 된 패키지”섹션에 이러한 패키지를 나열하므로 문제에 대한 정보를 얻고 이에 대해 조치를 취할 수 있습니다.

    7. aptitude에는 데비안 인터페이스가 있습니다. 작업 시스템

      Aptitude를 사용하면 데비안의 작업 시스템을 사용하도록 설계된 그대로 사용할 수 있습니다. 사용 가능한 작업을 찾아보고 설치할 작업을 선택한 다음 해당 작업을 살펴보고 일부를 선택 취소 할 수 있습니다. 당신이 원하지 않는 작업. apt-get은 작업을 지원하지 않으며 tasksel과 같은 특수 목적 도구보다 aptitude가 더 좋습니다.

    8. aptitude는 여러 소스를 지원합니다

      소스가있는 경우. list는 여러 버전의 패키지를 사용할 수 있도록 구성되어 있으며 aptitude를 사용하면 드릴 다운하여 사용 가능한 버전을 확인하고 설치할 기본 버전이 아닌 버전을 선택할 수 있습니다. 패키지가 불안정 해지면 테스트중인 버전으로 롤백하세요.

    9. aptitude는 작업을 기록합니다.

      Aptitude는 패키지가 설치, 업그레이드, / varlog / aptitude로 제거합니다. 어제 업그레이드 후 문제가 발생하기 시작한 이유 또는 partiticlar 패키지를 제거했을 때 유용 할 수 있습니다.

    – shy jo 참조

    ================== 여기에 2010 년의 최신 토론도 있습니다. StackExchange의 https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다