시스템에서 불필요한 소프트웨어를 제거하고 싶을 때, 설치된 모든 패키지 목록을 한눈에 확인할 수 있다면 큰 도움이 됩니다. 우분투(Ubuntu)에서는 APT를 통해 현재 시스템에 설치된 패키지 목록을 손쉽게 조회할 수 있습니다.
이 가이드에서는 데비안(Debian) 계열 배포판의 기본 패키지 관리자인 APT를 사용해 우분투에 설치된 패키지 목록을 확인하는 방법을 알아봅니다.
우분투에 설치된 패키지 목록 확인하기
현재 설치된 패키지, 업그레이드 가능한 패키지 또는 저장소에서 사용 가능한 패키지의 목록을 출력하려면 APT 명령의 list 메서드를 사용하면 됩니다. 이때 시스템에 설치된 패키지만 출력하려면 --installed 플래그를 함께 지정하세요.
sudo apt list --installed
실행 결과:
위 명령이 생성하는 출력에는 버전 번호와 패키지 상태 등 추가 정보도 함께 포함됩니다.
스크립트 작성이나 출력 전달에 적합한 깔끔한 결과를 얻으려면 sed나 awk 같은 문자열 처리 도구를 활용할 수 있습니다. 예를 들어 패키지 이름만 출력하려면 다음과 같이 입력합니다.
sudo apt list --installed | awk '{split($0, a, "/"); print a[1]}'
실행 결과:
함께 읽기: 리눅스 파워 유저로 만들어주는 sed 예제
설치된 패키지의 총 개수도 세어볼 수 있습니다. 앞서 살펴본 명령의 출력을 파이프(|)로 wc에 연결하기만 하면 됩니다. wc(word count)는 텍스트 파일에 포함된 문자, 단어, 줄 수를 세는 리눅스 유틸리티입니다.
sudo apt list --installed | wc -l
실행 결과:
위 출력에서 볼 수 있듯이, 현재 이 시스템에는 2,177개의 리눅스 패키지가 설치되어 있습니다.
dpkg-query 사용하기
구버전 우분투를 사용 중이라면 dpkg-query 명령으로 설치된 패키지 목록을 확인할 수 있습니다.
sudo dpkg-query -l
Dpkg는 기본적으로 깔끔한 표 형태로 결과를 보여줍니다.
부가 정보를 걷어내고 패키지 이름만 출력하려면 다음 명령을 실행하세요.
sudo dpkg-query -f '${binary:Package}\n' -W
실행 결과:
더 알아보기: 우분투에서 APT와 dpkg의 차이점은 무엇일까?
APT로 한결 간편해진 패키지 관리
list 메서드 외에도 APT는 리눅스 패키지와 관련된 다양한 정보를 제공하는 여러 기능을 갖추고 있습니다. 또한 시스템에 설치·삭제된 패키지 기록을 체계적으로 관리해 주기 때문에, 불필요한 의존성(dependency)을 일일이 정리해야 하는 번거로움도 덜어줍니다.
APT 외에도 DNF, pacman, YUM 등 다양한 패키지 관리자가 리눅스에서 사용 가능합니다. 대부분의 데비안 계열 배포판은 APT를 기본으로 탑재하고 있으며, 아치 리눅스(Arch Linux)와 RHEL 계열 시스템은 각각 pacman과 DNF를 기본 패키지 관리자로 사용합니다.