패키지를 완벽하게 설치한 후 데비안 기반 운영 체제에 다운로드된 종속성을 어떻게 알 수 있습니까?
이는 설치 중에 명확한 정보를 제공하지만, 설치하면 이 정보를 더 이상 얻을 수 없습니다. 그렇다면 사용자가 원할 때 언제든지 이 정보를 얻을 수 있는 방법은 무엇일까요?
답변1
다운로드할 종속성은 설치된 최종 패키지와 이미 존재하는 패키지 세트에 따라 다릅니다. 이는 apt
패키지를 설치할 때 유사한 도구가 결정하고 표시하는 것입니다.
패키지를 설치한 후에는 몇 가지 수동 작업이 필요합니다. apt-rdepends
패키지의 모든 종속성은 반복적으로 나열됩니다. 이를 통해 다운로드해야 하는 가장 큰 패키지 세트를 결정할 수 있습니다. 예를 들어,
$ apt-rdepends msitools
msitools
Depends: libc6 (>= 2.4)
Depends: libgcab-1.0-0 (>= 0.4)
Depends: libglib2.0-0 (>= 2.18.0)
Depends: libgsf-1-114 (>= 1.14.8)
Depends: libmsi0 (>= 0.93)
Depends: libuuid1 (>= 2.16)
Depends: libxml2 (>= 2.6.27)
libc6
Depends: libgcc1
libgcc1
Depends: gcc-8-base (= 8.3.0-6)
Depends: libc6 (>= 2.14)
gcc-8-base
[...]
적절한 후처리(이 경우)를 통해 현재 Debian 10 설치에 (8.3.0-6), (2.17.2 이상), ( 2.28 이상), (3.0.4 이상) 이 필요한지 | grep Depends | sort -u
확인할 수 있습니다 . (0.4 이상), (1:4.2 이상), (2.39.4 이상), (1.14.8 이상), (1.14.45-1 이상), (63.1-1~ 이상), ( 5.1.1alpha+20120614 이상), (2.28 이상), (0.93 이상),, ( 2.6-3~ 이상), (5.2 이상), (2.16 이상), (2.7.4 이상) 및 (1:1.2.3.3 이상).msitools
gcc-8-base
libblkid1
libbz2-1.0
libc6
libffi6
libgcab-1.0-0
libgcc1
libglib2.0-0
libgsf-1-114
libgsf-1-common
libicu63
liblzma5
libmount1
libmsi0
libpcre3
libselinux1
libstdc++6
libuuid1
libxml2
zlib1g
버전 제한 없이 이 모든 콘텐츠를 에 제공하면 apt-get download
필요한 모든 패키지 파일이 제공됩니다. (Debian 10의 최신 버전을 사용하면 위의 사항이 모두 충족되므로 버전 제한이 필요하지 않습니다.)
이는 단순한 종속성 트리이지만 가상 패키지나 대체 종속성을 사용할 수 있게 되면 분석이 더욱 복잡해집니다.
답변2
댓글이 좀 길어지네요.
무엇을 설치하셨나요? 어떻게?
대부분의 경우 소프트웨어 패키지는 다른 패키지에 종속되므로 설치 후에 소프트웨어를 사용할 수 있습니다. 설치한 소프트웨어에 패키지의 종속성이 아닌 종속성이 있는 경우 설치한 패키지 소스에서 몇 가지 정보를 얻을 수 있기를 바랍니다. 패키지에 적절한 종속성이 없는 경우 이를 내보내는 방법에 대한 몇 가지 옵션이 있습니다. 패키지에 사용 가능한 문서가 있는지 확인해 볼 수 있습니다 dpkg -l <package name>
.