Debian 기반 리눅스 배포판을 사용하는 분이라면 'apt'라는 단어를 셀 수 없이 많이 보셨을 겁니다. Ubuntu와 다양한 우분투 파생 배포판, Linux Mint, LXLE, Trisquel GNU/Linux 사용자 모두 해당됩니다. apt는 시스템에 소프트웨어를 설치할 때 도움을 주는 패키지 관리자를 가리키지만, 그 이름은 apt 디렉터리, apt-cache 등 수많은 곳에서 사용되고 있습니다. 그래서 "apt는 대체 무슨 뜻일까?"라는 질문은 리눅스 터미널에 막 입문한 사용자들이 가장 자주 던지는 궁금증 중 하나입니다. 사실 이 이름의 유래를 제대로 모르는 개발자들도 적지 않습니다.
명령줄 애호가들이 소프트웨어 설치에 애용하는 apt-get 유틸리티의 영향력이 워낙 커서, 일부 사용자들은 이 이름을 'get application terminal'이나 'get an application today' 같은 두문자어로 재해석하기도 했습니다. 하지만 둘 다 틀린 추측입니다. apt의 정식 명칭은 Advanced Package Tool(고급 패키지 도구)이며, 이름에 apt가 들어간 모든 프로그램은 바로 이 원래 의미에서 출발한 것입니다.
apt라는 이름의 의미
한때 apt의 모든 man 페이지에는 'Advanced Package Tool'이라는 명칭이 명시되어 있었습니다. 그러나 최근 버전의 매뉴얼에서는 이 명칭을 더 이상 사용하지 않는 경우가 많아졌고, 여기서 혼란의 여지가 생겼습니다. man 페이지에 그 이름이 남아 있던 시절에는 사람들이 이 명칭을 훨씬 자주 언급했습니다.
직접 확인해 보고 싶다면, apt 기반 배포판에서 Ctrl + Alt + T를 눌러 터미널을 열어 보세요. Ubuntu Unity Dash에서 'terminal'을 검색하거나, Applications 또는 Whisker 메뉴에서 시스템 도구(System Tools)로 이동한 뒤 터미널을 클릭해도 됩니다.
터미널이 열리면 man apt를 입력하고 엔터를 누르세요. 요즘 버전에서는 아마 'apt – command-line interface(명령줄 인터페이스)'라고만 표시될 가능성이 높습니다. 실제로 xman이라는 그래픽 매뉴얼 브라우저에서 Manual Page를 클릭하고 Options → Search로 'apt'를 검색해도 동일한 페이지가 나타납니다. 어떤 이유에서인지 전체 명칭은 더 이상 잘 언급되지 않지만, apt의 의미라는 질문에 대한 답은 분명히 Advanced Package Tool입니다.
당시 사용자들이 과거에 리눅스 소프트웨어를 설치하던 방식에 비하면 이는 획기적인 발전이었음이 분명합니다. 물론 소스 코드에서 직접 프로젝트를 컴파일하는 것만큼 좋다는 말도 있지만, 지속적으로 업데이트가 필요한 대규모 시스템을 관리할 때는 이런 패키지 관리 도구가 작업을 훨씬 수월하게 만들어 줍니다. 그래서 붙은 이름이라 할 수 있습니다.
시스템 속 apt 계열 도구 살펴보기
Debian과 다른 배포판의 개발자들이 이 이름을 얼마나 많은 도구에 활용했는지 직접 확인할 수 있습니다. 명령줄에 apropos apt | grep apt-를 입력하고 엔터를 눌러 보세요. 익숙한 apt-get은 물론, apt-secure, apt-key, apt-mark 등 낯설지만 패키지 관리 작업에 큰 도움이 되는 다양한 도구들을 발견하게 될 것입니다.
또한 Synaptic이나 aptitude 같은 소프트웨어들도 apt라는 이름을 활용한 말장난으로 명명된 것들입니다. 리눅스를 비롯한 유닉스 계열 개발자들은 유머 감각이 뛰어난 사람들이죠.
"Super Cow Powers": 개발자들의 농담
apt를 개발하는 사람들 역시 유머 감각을 갖고 있다는 사실을 알 수 있습니다. 명령줄에 apt만 입력하고 엔터를 눌러 보세요. 패키지 설치와 삭제에 관한 각종 옵션을 담은 방대한 텍스트가 출력됩니다. 그리고 대부분의 apt 기반 GNU/Linux 환경에서는 프롬프트로 돌아가기 직전 마지막 부분에 "This APT has Super Cow Powers"(이 APT는 슈퍼 카우 파워를 가지고 있습니다)라는 메시지가 등장합니다. 처음 이걸 접한다면 꽤 놀라실 수도 있습니다.
이 소위 '소의 능력(cow powers)'을 직접 확인하고 싶다면, 명령 프롬프트에 apt moo를 입력해 보세요. 아주 중요한 질문 하나를 받게 될 겁니다.
개발 코드네임은 'deity'
여기서 한 걸음 더 나아가 볼까요? apt-get 프로그램으로 이어진 원래 프로젝트의 코드네임은 deity(신)였습니다. 당시 개발자 메일링 리스트에서는 자기들을 'The Deity Creation Team(신 창조 팀)'이라고 불렀다고 합니다. 패키지 관리 시스템을 '신'에 빗대어 표현한 것이니, 개발자들의 자신감과 유머가 느껴지는 대목입니다.