apt 와 aptitude는 패키지 관리를 위한 명령어다. 둘 다 패키지에 대한 설치, 제거, 검색 등의 기능을 제공한다. 그렇다면 둘의 차이점은 무엇일까?
APT(Advanced Packaging Tool)은 소프트웨어의 설치와 제거를 도와주는 오픈 소스 소프트웨어다. 원래는 데비안의 패키지를 위해 설계되었지만, RPM 패키지 매니저와 호환되도록 바뀌었다. APT에는 GUI(Graphical User Interface)가 없다. 오직 명령어로만 작동한다.
APT에는 apt-get
, apt-cache
등의 다양한 명령어가 있는데, 이 명령어들 중에 사용자들이 가장 많이 사용하는 기능을 모아놓은 명령어가 apt
이다. apt.conf
파일을 수정해서 사용자 임의로 명령어를 수정할 수 있다.
Aptitude는 apt
명령어를 이용해 설치할 수 있다.
sudo apt install aptitude
Aptitude는 유저들이 직접 패키지를 검색할 수 있도록 유저 인터페이스가 탑재되어있다. 이 유저 인터페이스는 ncurses
라는 라이브러리를 바탕으로 만들어졌다. APT와 마찬가지로 데비안을 위해 만들어졌지만 RPM과 호환되도록 확장되었다.
Aptitude는 APT의 apt-get
, apt-mark
, apt-cache
등을 통합한 폭 넓은 기능을 제공한다. 즉, Aptitude는 하이(high)레벨의 패키지 매니저로, 로우(low)레벨의 세부적인 부분을 추출해서 대화형과는 비대화형의 방법으로 모두 작동할 수 있다.
가장 큰 차이점은 Aptitude는 상위 수준의 패키지 매니저이고, APT는 다른 상위 소프트웨어들이 사용할 수 있는 하위 수준의 패키지 매니저라는 것이다. 이 차이점을 바탕으로 좀 더 세세한 차이점을 찾아보자면 이렇다.
Apt는 GUI가 없지만, Aptitude는 텍스트 전용의 대화형 UI를 제공한다.
APT는 패키지 설치 중 충돌이 일어날 경우 해결하지 못하고 오류로 프로세스를 중단하지만, Aptitude는 엄청난 검색 기능으로 알아서 처리한다.
APT는 사용하지 않는 패키지를 삭제하기 위해 -auto-remove
라는 추가적인 옵션이 필요하지만, Aptitude는 알아서 삭제한다.
패키지를 검색할 때 Aptitude는 p
(present)와 i
(installed) 플래그로 패키지에 대한 상태를 보여준다. p
는 패키지가 존재하지만 설치되지 않았다는 뜻이고, i
는 이미 설치되었다는 뜻이다.
why
옵션을 이용하면 해당 패키지에 관련해서 설치를 권유하는 패키지 또는 dependencies를 보여준다.https://www.tecmint.com/difference-between-apt-and-aptitude/
https://www.fosslinux.com/43884/apt-vs-aptitude.htm