특정 패키지에 대한 모든 빌드 종속성을 제거하려면 어떻게해야합니까?


10

우분투 / 데비안에서 소스로부터 무언가를 컴파일하고 싶을 때, 보통 sudo apt-get build-dep PACKAGE_NAME터미널에서 " "를 실행하여 빌드 의존성을 얻습니다 .

컴파일 작업이 완료되면 (보통) 쓸모가 없습니다.

그렇다면 특정 패키지에 대한 모든 빌드 종속성 을 어떻게 제거 합니까?

답변:


5

실행할 수있는 프로그램의 빌드 의존성을 찾기 위해 apt-cache showsrc pkgname다른 정보들 중에서 Build-Depends종종 끝나는 파일 인 -dev; -dev다른 프로그램에 필요한 파일 (특히 표시되지 않은 파일 )이 있는지 확인하는 것이 좋습니다. apt-cache depends file및 을 사용하여 찾을 수 apt-cache rdepends file있습니다. 다음 예는 다음과 같습니다 Shotwell.

apt-cache showsrc shotwell

빌드-의존 : debhelper (> = 7.0.50 ~), m4, valac-0.16 (> = 0.15), libgee-dev (> = 0.5.0), libgtk-3-dev (> = 3.0.11), libexif -dev (> = 0.6.16), libsqlite3-dev (> = 3.5.9), libgexiv2-dev (> = 0.4.1-1build1), libgnomevfs2-dev (> = 2.24.2), libgphoto2-2-dev (> = 2.4.2), libsoup2.4-dev (> = 2.26.0), libxml2 (> = 2.6.32), libunique-3.0-dev (> = 1.0.0), libwebkitgtk-3.0-dev (> = 1.1.5), libgudev-1.0-dev (> = 145), libdbus-glib-1-dev (> = 0.80), libraw-dev (> = 0.13.1-2), libusb-dev, libjson-glib -dev (> = 0.7.6), libgstreamer0.10-dev (> = 0.10.28), libgstreamer-plugins-base0.10-dev (> = 0.10.32), python-scour, libunity-dev, liblaunchpad- 통합 -3.0-dev (> = 0.1.36), librest-dev

거기에서 한 번에 모든 것을 할 수있는 명령입니다 webupd8 사이트는 , 그러나 나는 보인다는 점에서 우분투의 현재 버전 안정적으로 작동하지 않는 것으로 나타났습니다 제거 너무 많이. 나는 Pinta로 그것을 시도했고 전체 모노 라이브러리를 제거하는 것이 좋습니다. Launchpad 에서 webupd8 명령과 같은 명령을 사용할 때의 이러한 문제에 대한 설명이 있습니다 . 찾은 '솔루션'을 실험 할 때는 매우주의하십시오.

설치된 패키지에 autoremove대한 명령 이 없다는 것은 부끄러운 일입니다 build-dep.


1
나는 적성 방법을 시도했다 & 그렇습니다, 당신은 옳습니다, 너무 많이 제거합니다 ... 종종 의존성 때문에. 내가 찾은 또 다른 방법은 다음 옵션을 전달하는 것입니다 (build-dep 명령을 사용하는 동안) sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAME. 이제로 제거 할 수 있습니다 apt-get autoremove. 그러나 이것은 기본 패키지를 제거한 후에 만 ​​작동합니다.
Khurshid Alam

2
어쨌든, 나는 그것을하는 적절한 방법이을 사용하고 있음을 알게되었습니다 pbuilder. 따라서 어느 누구도 의존성 설치 / 제거에 대해 걱정할 필요가 없습니다.
Khurshid Alam

6

다니지 쓰기 :

앞으로는 mk-build-deps대신 ...을 사용하는 것이 좋습니다 aptitude build-dep. 그러면 빌드 -deps에 의존성이있는 시스템에 패키지가 남게되어 나중에 쉽게 제거 할 수 있습니다.

mk-build-deps 함께 설치할 수 있습니다 sudo apt install devscripts


4

옵션 1:

설치 한 패키지를 기억 sudo apt-get build-dep PACKAGE_NAME하고 빌드 후 제거하십시오.

옵션 2 :

apt-cache showsrc 빌드 종속 목록을 포함하여 소스 패키지에 대한 많은 정보를 제공합니다.

apt-cache showsrc PACKAGE_NAME

예를 들면 다음과 같습니다.

$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <km@kevinmehall.net>
Build-Depends: cdbs (>= 0.4.43), debhelper (>= 6), python, python-central (>= 0.6.11), python-distutils-extra (>= 2.10)
Architecture: all
Standards-Version: 3.8.2
Format: 1.0
Directory: pool/main/p/pithos
Files:
 cdf2129923e62bb62c246965453b40bd 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
 97689e8ada8be527d689f2c83415d3b0 1544 pithos_0.3.17~git07dcbd86a1.dsc
Python-Version: current
Checksums-Sha1: 35cbf3ae52922e50a0b81afcce2cd97a86afb254 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
Package-List: pithos deb python extra
Checksums-Sha256: 2b704d86f3dc1d36d180177d11e578bdcf74ea97b09b530144afe754e570b262 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
$ sudo apt-get remove cdbs debhelper python python-central python-distutils-extra

이 옵션의 위험은 PACKAGE_NAME 빌드 외에 중요한 패키지를 제거 할 수 있다는 입니다. 계속하기 전에 제거 할 패키지 목록을 읽으십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.