Linux 에서 패키지 설치 여부 확인 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 다양한 명령줄 도구를 사용하여 Linux 시스템에 특정 소프트웨어 패키지가 설치되어 있는지 확인하는 방법을 배우게 됩니다. 설치된 패키지의 포괄적인 목록을 얻기 위해 apt list --installed 명령을 살펴보고, grep을 사용하여 이 목록을 필터링하는 방법을 배우게 됩니다.

또한, dpkg -lapt policy 명령을 사용하여 패키지 설치를 확인하고 설치된 패키지에 대한 자세한 정보를 검색하는 방법을 배우게 됩니다. 이를 통해 Debian 기반 Linux 배포판에서 소프트웨어를 관리하는 데 필요한 필수 기술을 습득할 수 있습니다.

apt list --installed 로 패키지 상태 확인

이 단계에서는 apt list --installed 명령을 사용하여 시스템에 어떤 소프트웨어 패키지가 설치되어 있는지 확인하는 방법을 배우게 됩니다.

Linux 시스템, 특히 Ubuntu 와 같은 Debian 기반 시스템 (이 랩에서 사용하고 있는 시스템) 은 패키지 관리자를 사용하여 소프트웨어를 관리합니다. apt는 이러한 목적으로 사용되는 강력한 명령줄 도구입니다.

apt list 명령은 기준에 따라 패키지를 나열하는 데 사용됩니다. --installed 옵션을 추가하면 현재 시스템에 설치된 패키지만 표시하도록 목록이 필터링됩니다.

터미널이 아직 열려 있지 않다면 엽니다. 데스크탑 왼쪽에서 Xfce 터미널 아이콘을 찾을 수 있습니다.

다음 명령을 입력하고 Enter 키를 누릅니다.

apt list --installed

긴 패키지 목록이 표시됩니다. 이 목록에는 패키지 이름, 버전 및 아키텍처가 포함됩니다.

Listing...
accountsservice/jammy-updates,now 0.6.55-0ubuntu12~22.04.5 amd64 [installed]
acl/jammy,now 2.3.1-1 amd64 [installed]
adduser/jammy,jammy,now 3.118ubuntu8 all [installed]
...
zlib1g/jammy-updates,now 1:1.2.11.dfsg-2ubuntu1.6 amd64 [installed]
zsh/jammy-updates,now 5.8.1-1ubuntu1.4 amd64 [installed]

이 명령은 시스템에 설치된 소프트웨어에 대한 포괄적인 개요를 얻는 데 유용합니다. 목록이 매우 길 수 있으므로 출력을 시작 부분부터 보려면 위로 스크롤해야 할 수 있습니다.

출력을 더 관리하기 쉽게 하려면 파이프 (|) 를 사용하여 apt list --installed를 다른 명령과 결합할 수 있습니다. 예를 들어, 이전 랩에서 설치한 htop과 같은 특정 패키지를 검색하려면 grep을 사용할 수 있습니다.

apt list --installed | grep htop

이 명령은 apt list --installed의 출력을 가져와 "htop"을 포함하는 줄을 검색하는 grep 명령에 입력으로 "파이프"합니다.

htop이 설치되었음을 확인하는 다음과 유사한 출력이 표시되어야 합니다.

htop/jammy,now 3.0.5-1build2 amd64 [installed]

grepapt list --installed와 함께 사용하면 시스템에 특정 패키지가 있는지 빠르게 확인할 수 있습니다.

다음 단계로 진행하려면 계속을 클릭하십시오.

dpkg -l 로 패키지 설치 확인

이 단계에서는 dpkg 명령을 사용하여 패키지의 설치 상태를 확인합니다. apt가 패키지를 관리하기 위한 상위 수준 도구 (설치, 제거, 업데이트) 인 반면, dpkg.deb 패키지 파일의 실제 설치 및 제거를 처리하는 기본 도구입니다.

dpkg -l 명령은 apt list --installed와 유사한 방식으로 패키지를 나열하지만 약간 다른 정보를 제공하며, 종종 보다 자세한 상태 확인에 사용됩니다.

터미널을 엽니다. 다음 명령을 입력하고 Enter 키를 누릅니다.

dpkg -l

다시, 긴 패키지 목록이 표시됩니다. 출력 형식은 apt list --installed와 약간 다릅니다.

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/Trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||| Name                                Version                     Architecture Description
+++-===================================-===========================-============-===============================================================================
ii  accountsservice                     0.6.55-0ubuntu12~22.04.5    amd64        query and manipulate user account information
ii  acl                                 2.3.1-1                     amd64        Access control list utilities
ii  adduser                             3.118ubuntu8                all          add and remove users and groups
...
ii  zlib1g:amd64                        1:1.2.11.dfsg-2ubuntu1.6    amd64        compression library - runtime
ii  zsh                                 5.8.1-1ubuntu1.4            amd64        shell with lots of features

처음 몇 개의 열을 살펴보겠습니다.

  • Desired (원하는 상태): 사용자가 패키지로 수행하려는 작업 (예: 설치의 경우 i, 제거의 경우 r).
  • Status (상태): 패키지의 현재 상태 (예: 설치됨의 경우 i, 구성 파일만 있는 경우 c, 제거됨의 경우 p).
  • Err? (오류?): 패키지에 오류가 있는지 여부를 나타냅니다.

대부분의 줄 시작 부분에 있는 ii는 "Install Ok, Installed (설치 완료, 설치됨)"을 의미합니다. 이는 패키지가 올바르게 설치되었음을 나타냅니다.

apt list와 마찬가지로 grep을 사용하여 특정 패키지를 찾을 수 있습니다. htop을 다시 확인해 보겠습니다.

dpkg -l | grep htop

다음과 같은 줄이 표시되어 htop의 상태를 확인할 수 있습니다.

ii  htop                                3.0.5-1build2               amd64        interactive processes viewer

htop 줄의 시작 부분에 있는 ii는 올바르게 설치되었음을 확인합니다.

apt list --installed는 간단한 목록을 얻는 데 종종 더 빠르지만, dpkg -l은 설치 문제를 해결하는 데 도움이 될 수 있는 더 자세한 상태 플래그를 제공합니다.

계속 진행하려면 계속을 클릭하십시오.

apt policy 를 사용하여 패키지 상세 정보 확인

이 단계에서는 apt policy 명령을 사용하여 패키지에 대한 자세한 정보, 즉 설치된 버전과 다른 저장소에서 사용할 수 있는 버전을 얻습니다. 이 명령은 패키지가 어디에서 왔는지, 그리고 업그레이드 또는 재설치할 경우 어떤 버전이 설치될지 이해하는 데 특히 유용합니다.

터미널을 엽니다. apt policy를 사용하여 htop 패키지를 검사해 보겠습니다. 다음 명령을 입력하고 Enter 키를 누릅니다.

apt policy htop

다음과 유사한 출력이 표시됩니다.

htop:
  Installed: 3.0.5-1build2
  Candidate: 3.0.5-1build2
  Version table:
 *** 3.0.5-1build2 500
        500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        100 /var/lib/dpkg/status

출력을 분석해 보겠습니다.

  • Installed (설치됨): 현재 시스템에 설치된 htop의 버전을 표시합니다.
  • Candidate (후보): sudo apt install htop 또는 sudo apt upgrade htop을 실행할 경우 설치될 버전을 표시합니다. 이 경우 설치된 버전이 후보 버전이기도 합니다.
  • Version table (버전 테이블): 구성된 소프트웨어 저장소에서 사용할 수 있는 패키지 버전을 나열합니다.
    • ***로 시작하는 줄은 설치된 버전과 우선 순위를 나타냅니다.
    • 500으로 시작하는 줄은 Ubuntu jammy/universe 저장소에서 사용할 수 있는 버전과 해당 우선 순위 (500) 를 보여줍니다.
    • 100으로 시작하는 줄은 dpkg 상태 파일에서 설치된 버전을 나타냅니다.

(500 및 100 과 같은) 숫자는 패키지 소스의 우선 순위를 나타냅니다. 설치 또는 업그레이드 시 우선 순위가 높은 소스가 선호됩니다.

apt policy는 패키지 문제를 디버깅하고, 특정 버전의 패키지가 설치된 이유를 이해하거나, 구성된 소스에서 사용할 수 있는 버전을 확인하는 강력한 명령입니다.

패키지 이름 없이 apt policy를 실행하여 모든 패키지에 대한 정책을 볼 수도 있습니다. 여기에는 구성된 저장소 및 해당 우선 순위에 대한 정보가 포함됩니다. 그러나 해당 출력은 매우 깁니다.

이제 설치된 패키지의 상태 및 세부 정보를 확인하는 세 가지 다른 방법 (apt list --installed, dpkg -l, apt policy) 을 배웠습니다. 이러한 명령은 Debian 기반 Linux 시스템에서 소프트웨어를 관리하는 데 필수적인 도구입니다.

이 랩을 완료하려면 계속을 클릭하십시오.

요약

이 랩에서는 세 가지 다른 명령줄 도구를 사용하여 Linux 시스템에 패키지가 설치되어 있는지 확인하는 방법을 배웠습니다. 먼저 apt list --installed를 사용하여 설치된 모든 패키지의 포괄적인 목록을 얻고, grep을 사용하여 이 출력을 필터링하여 특정 패키지를 찾는 방법을 배웠습니다.

그런 다음 Debian 패키지를 관리하기 위한 또 다른 명령줄 도구인 dpkg -l을 탐색하여 패키지의 설치 상태를 확인하고 세부 정보를 확인했습니다. 마지막으로, apt policy를 사용하여 패키지의 버전 및 출처를 포함한 설치 세부 정보를 검사하여 시스템에서 패키지가 관리되는 방식에 대한 더 깊은 이해를 얻었습니다.