Debian이나 Ubuntu에서 새로 나온 프로그램을 설치하려고 패키지를 찾아 apt로 설치했습니다. 그런데 터미널에서 실행하려는 순간 셸이 "command not found(명령을 찾을 수 없음)"라는 오류 메시지만 내뱉습니다. 당황스럽지만 걱정할 필요 없습니다. apt가 프로그램을 어디에 설치했는지 확인하는 방법을 소개합니다.
패키지는 설치했는데, 실행 명령어는 뭘까?
대부분의 경우 실행 파일 이름은 Debian 또는 Ubuntu 패키지 이름과 일치합니다. 하지만 간혹 두 이름이 다른 경우가 있는데, 주로 기존 패키지와 이름이 충돌하는 상황 때문입니다. 이럴 때는 실행 파일의 실제 이름을 직접 확인해야 하는데, 다행히 명령어 한 줄이면 충분합니다.
dpkg로 설치된 파일 목록 확인하기
패키지가 설치한 파일들의 전체 경로를 확인하려면 dpkg 명령에 -L(대문자 L) 옵션을 붙이면 됩니다. 예를 들어 Firefox ESR을 확인하려면 다음과 같이 입력합니다.
dpkg -L firefox-esr
그러면 해당 패키지가 설치한 모든 파일의 경로가 출력되며, 그중에는 가장 중요한 실행 파일도 포함되어 있습니다.
리눅스에서 실행 프로그램은 어디에 있을까?
찾고 있는 실행 파일은 보통 bin(binary, 바이너리) 디렉터리에 있습니다. 리눅스 디렉터리 구조에서 /usr/bin은 사용자가 설치한 실행 파일의 기본 위치입니다.
셸은 명령어를 입력할 때 검색 경로(search path)를 따라 이러한 디렉터리들을 차례로 살펴봅니다. 자신의 검색 경로에 어떤 디렉터리가 포함되어 있는지 확인하려면 $PATH 환경 변수를 출력해 보세요.
echo $PATH
검색 경로에 포함된 디렉터리들은 콜론(:) 문자로 구분되어 표시됩니다. Debian과 Ubuntu는 새 프로그램을 대개 /usr/bin 또는 /usr/sbin 디렉터리에 설치합니다. 후자에는 주로 root 권한(sudo)으로 실행해야 하는 시스템 관리용 프로그램들이 들어 있습니다.
알아두면 유용한 추가 팁
반대로 특정 파일이 어느 패키지에 속하는지 궁금하다면 dpkg -S 파일명 명령으로 역추적할 수 있습니다. 아직 패키지를 설치하기 전이라면 apt search 검색어 명령으로 원하는 패키지를 먼저 찾아보는 것도 좋은 습관입니다.
이제 apt가 설치한 프로그램의 위치를 알 수 있습니다
dpkg 명령어 하나와 리눅스 디렉터리 구조에 대한 기본 지식만 있으면, apt가 방금 설치한 프로그램의 위치를 손쉽게 파악할 수 있습니다. 특히 프로그램 이름과 패키지 이름이 서로 다를 때 이 과정이 큰 도움이 됩니다. 이제 "command not found" 오류 앞에서 더 이상 헤매지 않아도 됩니다.
필자 소개: 데이비드(David)는 미국 태평양 북서부에 거주하는 프리랜서 작가로, 2009년부터 전문적으로 글을 써 왔으며 2006년부터 다양한 형태로 리눅스를 꾸준히 사용하고 있습니다. Techopedia, TMCnet 등 여러 매체에 글을 발표한 바 있습니다.