소프트웨어의 설치와 제거를 처리하는 패키지 관리 툴이다.
초기에는 .deb 패키지를 관리하기 위해 만들었지만 현재는 rpm 패키지 매니저와도 호환된다.
(rpm 패키지는 Redhat Package Manager의 약자로 레드햇에서 사용하는 패키지 관리 도구로 CentOS는 레드햇 계열이기 때문에 CentOS를 사용하는 사람들이 많이 쓴다. 하지만 우리는 Debian을 쓰기 때문에 패스)
apt는 그래픽 인터페이스 없이 명령어로 사용한다.
설치할 패키지 명을 입력하면, '/etc/apt/sources.list'에 지정된 소스 목록에서 해당 패키지 + 종속성 목록과 함께 찾아 자동으로 설치한다. 따라서 패키지를 설치할 때 종속성 문제 걱정이 없다.
또한 굉장히 유연해서 사용자가 직접 새로운 소스 목록을 추가하거나 시스템이 업그레이드 되어도 해당 패키지를 업데이트 하지 않도록 해 현재 버전을 계속 사용하는 등의 작업을 할 수 있다.
Aptitude는 사용자 인터페이스를 추가해 사용자가 대화형으로 패키지를 검색해 설치, 제거할 수 있는 high-level 패키지 관리 도구다.
Debian을 위해 만들어졌지만 rpm 기반 패키지까지 확장되며 텍스트 기반 대화형 인터페이스(CUI)와 비대화형 command line 모드에서도 작동한다.
aptitude가 더 방대하고 apt-get, apt-cache를 비롯한 기능들을 포함한다.
apt-get이 패키지 설치, 업그레이드, 종속성 등을 검사한다면 aptitude는 이보다 더 많은 일을 할 수 있다. 설치된 패키지 목록, 패키지를 자동 또는 수동으로 설치하도록 표시, 업그레이드에 사용할 수 없는 패키지 보관 등이 있다.
이 외에 차이점을 보면,
apt
$ apt-cache search 'python' | head -n4
kate - powerful text editor
kcachegrind-converters - format converters for KCachegrind profiler visualisation tool
kig - interactive geometry tool for KDE
python-kde4 - Python bindings for the KDE Development Platformaptitude
$ aptitude search 'python' | head -n4
i bpython - fancy interface to the Python interpreter
p bpython-gtk - fancy interface to the Python interpreter
p bpython-urwid - fancy interface to the Python interpreter
p bpython3 - fancy interface to the Python3 interpreter
(해당 내용은 간단한 차이 예시이며 aptitude에 옵션이 다양하게 있는 것을 검색을 통해 찾아보며 확인할 수 있었다.)