Computer >> 컴퓨터 >  >> 체계 >> Linux

Ubuntu에서 패키지의 종속성을 나열하는 방법

Windows, macOS 및 Android와 달리 Ubuntu 및 일반적으로 Linux의 소프트웨어는 단일 패키지로 배포되지 않습니다. 대신, 애플리케이션을 설치할 때 시스템의 패키지 관리자는 기본 앱 패키지 및 해당 종속성을 포함하여 여러 패키지를 다운로드합니다. 그러나 이는 패키지 관리자를 사용하는 Linux의 기존 패키지 설치에만 해당됩니다.

설치 중에 어떤 추가 종속성이 다운로드되는지 알면 초보자와 고급 사용자 모두에게 유용할 수 있습니다. 이렇게 하면 시스템에 설치된 패키지를 완전히 제어할 수 있습니다.

Ubuntu에서 패키지의 종속성을 확인하는 방법을 살펴보겠습니다.

패키지 종속성이란 무엇입니까?

종속성은 Linux에서 애플리케이션이 제대로 작동하는 데 필요한 지원 패키지입니다. 예를 들어 Ubuntu에서 VLC 미디어 플레이어를 다운로드하려는 경우 APT는 libc6과 같은 몇 가지 추가 패키지를 설치합니다. 및 gcc , 기본 "vlc 외에 " 패키지. 종속성은 다른 패키지를 종속성으로 가질 수 있으므로 계층 구조를 형성합니다.

Linux 패키지는 상호 의존적이기 때문에 거의 모든 소프트웨어에는 시스템에 설치해야 하는 추가 패키지가 필요합니다.

APT와 같은 패키지 관리자는 해당 종속성의 관리 및 설치를 자동화하지만 소스에서 수동으로 패키지를 빌드하려고 하면 오류가 발생합니다. 그러나 apt install을 사용하여 시스템에 필요한 종속성을 설치하기만 하면 이러한 오류를 해결할 수 있습니다. 명령.

Linux에서 패키지 종속성을 확인하는 방법

운 좋게도 Ubuntu에는 패키지의 종속성 목록을 가져오는 여러 가지 방법이 있습니다. Ubuntu 및 Debian 기반 배포판의 기본 패키지 관리자인 APT는 패키지의 종속성 관련 정보를 가져오는 여러 명령을 제공합니다.

APT 패키지 관리자 사용

Ubuntu에서 APT를 사용하여 패키지와 관련된 종속성 목록을 가져올 수 있습니다. 명령의 기본 구문은 다음과 같습니다.

sudo apt depends packagename

예를 들어 rhythmbox에 대한 종속성을 확인하려면 패키지:

sudo apt depends rhythmbox

종속성 목록 외에도 출력에는 rhythmbox와 함께 설치할 수 있는 권장 및 제안 패키지도 포함됩니다. .

Ubuntu에서 패키지의 종속성을 나열하는 방법

또는 apt-cache를 사용할 수도 있습니다. 동일한 출력을 얻기 위한 명령입니다.

sudo apt-cache depends rhythmbox

특정 패키지와 관련된 추가 정보를 얻으려면 show를 사용하세요. depends 대신 메소드 .

sudo apt show rhythmbox
sudo apt-cache show rhythmbox

출력:

Ubuntu에서 패키지의 종속성을 나열하는 방법

dpkg를 사용하여 종속성 나열

시스템에 DEB 패키지를 다운로드했고 패키지와 함께 설치될 종속성을 알고 싶다면 -I를 사용할 수 있습니다. (소문자 L이 아닌 대문자 i) 또는 --info 명령으로 플래그를 지정합니다.

sudo dpkg -I /path/to/package.deb
sudo dpkg --info /path/to/package.deb

.../path/to/package.deb 위치 DEB 파일의 절대 또는 상대 경로입니다.

출력은 종속성 목록과 함께 패키지, 소스 및 기타 유용한 정보의 크기를 표시합니다.

Ubuntu에서 패키지의 종속성을 나열하는 방법

설치된 패키지의 종속성 목록을 가져오려면 -s를 사용하세요. dpkg로 플래그를 지정합니다. 예:

sudo dpkg -s firefox

출력:

Ubuntu에서 패키지의 종속성을 나열하는 방법

apt-rdepends 사용

더 자세한 출력을 얻으려면 apt-rdepends 유틸리티를 사용할 수 있습니다. 대부분의 Linux 배포판에는 사전 설치되어 제공되지 않으므로 APT를 사용하여 Ubuntu에 수동으로 설치해야 합니다.

sudo apt install apt-rdepends

다음 명령 형식을 사용하여 패키지에 대한 종속성 트리를 가져옵니다.

apt-rdepends packagename

예:

apt-rdepends vlc

출력:

Ubuntu에서 패키지의 종속성을 나열하는 방법

생성된 출력은 일반적으로 apt-rdepends가 종속성의 완전한 계층적 트리를 표시하는 한 길며, 이는 종속성의 종속성 목록도 얻을 수 있음을 의미합니다.

특정 패키지에 의존하는 패키지 목록을 얻을 수도 있습니다. 예를 들어 libc가 필요한 패키지를 확인하려면 종속성:

apt-rdepends -r libc

출력:

Ubuntu에서 패키지의 종속성을 나열하는 방법

역 의존 유틸리티

역 종속성 기능(-r 플래그)의 apt-rdepends가 예상보다 잘 작동하지만 패키지의 역 종속성을 추출하는 데 사용할 수 있는 또 다른 유틸리티가 있습니다. reverse-depends 명령은 ubuntu-dev-tools의 일부입니다. 패키지이며 다음을 사용하여 다운로드할 수 있습니다.

sudo apt install ubuntu-dev-tools

명령의 기본 구문은 다음과 같습니다.

reverse-depends options packagename

...옵션 명령 및 패키지 이름과 함께 사용할 수 있는 플래그입니다. 의존성을 역으로 확인하려는 패키지의 이름입니다.

앞서 언급한 명령에 다양한 플래그를 추가하여 출력을 수정할 수도 있습니다. 다음은 가장 유용한 옵션 목록입니다.

  1. -R :직접적인 종속성만 나열(제안 또는 권장 패키지 없음)
  2. -s :제안 패키지 포함
  3. -l :스크립트에서 사용하기에 적합한 깔끔한 형식으로 출력을 표시합니다.

도구 사용 방법을 알 수 없고 명령줄 도움말이 필요한 경우 --help를 사용하세요. 또는 -h 플래그.

reverse-depends -h
reverse-depends --help

시뮬레이트된 설치/제거를 사용하여 종속성 목록 가져오기

현재 시스템에 설치되지 않은 모든 종속성의 간략한 목록을 원하는 사람들을 위해 특정 패키지의 시뮬레이션 설치(또는 제거)를 실행할 수 있습니다.

예를 들어, PHP 패키지에 필요한 종속성을 확인하려면 다음 명령을 실행하십시오.

sudo apt install -s php

출력에는 "다음 추가 패키지가 설치됩니다" 섹션이 포함됩니다. 추가로 나열된 모든 패키지 이름은 시스템에서 찾을 수 없는 종속성입니다.

Ubuntu에서 패키지의 종속성을 나열하는 방법

Ubuntu에 이미 설치된 패키지에 대한 종속성 목록을 얻으려면 시뮬레이션된 제거를 수행하여 함께 제거될 추가 패키지를 확인할 수 있습니다.

sudo apt remove -s packagename

예:

sudo apt remove -s rhythmbox

출력:

Ubuntu에서 패키지의 종속성을 나열하는 방법

Linux 패키지는 상호 의존적입니다.

이 가이드에서 상당히 추론할 수 있듯이 거의 모든 Linux 패키지는 다른 패키지에 의존합니다. 이 개념의 기본 원칙은 Linux 기반 운영 체제에서 각 패키지가 단일 작업을 수행하고 잘 수행해야 한다는 것입니다.

오디오 서비스를 관리하기 위한 패키지가 개발된 경우 다른 프로그램은 해당 패키지를 종속 항목으로 나열하고 오디오 요구 사항을 충족하는 데 사용합니다.

또한 여러 응용 프로그램에서 동일한 패키지를 요구하는 경우 시스템에 한 번만 설치되므로 데이터 중복을 방지하고 디스크의 저장 공간을 절약할 수 있습니다. APT를 사용하여 시스템에 현재 설치된 모든 패키지 목록을 얻을 수도 있습니다.