aptitude vs apt

정하나둘·2022년 11월 22일
1

apt

APT : Advanced Packaging Tool

소프트웨어의 설치와 제거를 처리하는 패키지 관리 툴이다.
초기에는 .deb 패키지를 관리하기 위해 만들었지만 현재는 rpm 패키지 매니저와도 호환된다.
(rpm 패키지는 Redhat Package Manager의 약자로 레드햇에서 사용하는 패키지 관리 도구로 CentOS는 레드햇 계열이기 때문에 CentOS를 사용하는 사람들이 많이 쓴다. 하지만 우리는 Debian을 쓰기 때문에 패스)
apt는 그래픽 인터페이스 없이 명령어로 사용한다.
설치할 패키지 명을 입력하면, '/etc/apt/sources.list'에 지정된 소스 목록에서 해당 패키지 + 종속성 목록과 함께 찾아 자동으로 설치한다. 따라서 패키지를 설치할 때 종속성 문제 걱정이 없다.
또한 굉장히 유연해서 사용자가 직접 새로운 소스 목록을 추가하거나 시스템이 업그레이드 되어도 해당 패키지를 업데이트 하지 않도록 해 현재 버전을 계속 사용하는 등의 작업을 할 수 있다.

Aptitude

Aptitude는 사용자 인터페이스를 추가해 사용자가 대화형으로 패키지를 검색해 설치, 제거할 수 있는 high-level 패키지 관리 도구다.
Debian을 위해 만들어졌지만 rpm 기반 패키지까지 확장되며 텍스트 기반 대화형 인터페이스(CUI)와 비대화형 command line 모드에서도 작동한다.

차이점

aptitude가 더 방대하고 apt-get, apt-cache를 비롯한 기능들을 포함한다.
apt-get이 패키지 설치, 업그레이드, 종속성 등을 검사한다면 aptitude는 이보다 더 많은 일을 할 수 있다. 설치된 패키지 목록, 패키지를 자동 또는 수동으로 설치하도록 표시, 업그레이드에 사용할 수 없는 패키지 보관 등이 있다.

이 외에 차이점을 보면,

1. 어떤 패키지를 삭제할 때, aptitude는 사용되지 않는 패키지까지 삭제한다. 반면 apt는 사용자가 '-auto-remove', 'apt-get autoremove'를 명시해줘야 한다.

2. aptitude는 'why', 'why-not' 명령어를 이용해 어떤 동작이 왜 되고 왜 안 되는지 볼 수 있다.

3. apt는 설치, 제거 중 충돌이 일어나면 종료되지만 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 Platform

aptitude

$ 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는 패키지가 존재하지만 설치되지 않았음을 나타내는 'p'와 패키지가 설치되었음을 나타내는 'i' 등, 패키지 별 플래그를 제공하고

- apt는 패키지의 설치 여부를 알려주지 않고 패키지의 세부 정보만 한 줄 나열한다.

(해당 내용은 간단한 차이 예시이며 aptitude에 옵션이 다양하게 있는 것을 검색을 통해 찾아보며 확인할 수 있었다.)

profile
내가 다시 보려고 만드는 42서울 본과정 블로그

0개의 댓글