실행 sudo apt-get install <PACKAGE>
하면 패키지, 해당 종속성 및 기타 권장 패키지가 설치됩니다.
그러나 패키지의 종속성 만 설치 하고 패키지 자체를 제외시키는 방법은 없습니다.
어떻게하면 될까요?
apt-get build-dep
빌드 종속성을 설치하므로 apt-get -b source
작동하지만 런타임 종속성이 설치되지 않아 dpkg -i *.deb
실패합니다.
실행 sudo apt-get install <PACKAGE>
하면 패키지, 해당 종속성 및 기타 권장 패키지가 설치됩니다.
그러나 패키지의 종속성 만 설치 하고 패키지 자체를 제외시키는 방법은 없습니다.
어떻게하면 될까요?
apt-get build-dep
빌드 종속성을 설치하므로 apt-get -b source
작동하지만 런타임 종속성이 설치되지 않아 dpkg -i *.deb
실패합니다.
답변:
패키지의 Depends and PreDepends 필드에 모든 패키지가 설치됩니다 :
sudo apt-get install $(apt-cache depends <PACKAGE> | grep Depends | sed "s/.*ends:\ //" | tr '\n' ' ')
기본적으로 모든 종속성을 요청하고 (Pre) Depends를 필터링하고 apt-get에 대한 출력 형식을 지정하십시오.
한 가지 문제는 다음과 같은 종속성입니다.
Depends: pulseaudio
pulseaudio:i386
또는 가상 패키지
Depends: <java6-runtime-headless>
default-jre-headless
openjdk-6-jre-headless
따라서 주의해서 사용하십시오-모든 경우에 작동하지는 않습니다!
sudo apt-get install $(apt-cache depends PACKAGE-NAME-HERE | awk '$1~/Depends/{printf $2" "}')
sed
파이프 라인에서 다음으로 업데이트 하면 나를 위해 일했습니다 sed -e "s/.*ends:\ //" -e 's/<[^>]*>//'
. 필자의 경우 가상 패키지 < >
앞에는 패키지를 만족시키는 패키지가 있으므로 항목을 제거하는 것이 < >
좋습니다.
apt-get build-dep <package>
트릭을 할 것입니다.
apt-get build-dep
.
설치되지 않은 특정 패키지의 모든 종속성을 나열하려면 aptitude
aptitude search '!~i?reverse-depends("^PACKAGE_NAME$")'
종속성을 설치하려면
aptitude search '!~i?reverse-depends("^PACKAGE_NAME$")' -F "%p" | xargs sudo apt-get install
예
종속성을 나열하십시오.
% aptitude search '!~i?reverse-depends("^mc$")'
p mc-data - Midnight Commander - a powerful file manager -- data files
패키지 이름 만 표시
% aptitude search '!~i?reverse-depends("^mc$")' -F "%p"
mc-data
예를 들어 종속성을 설치하십시오. mc
% aptitude search '!~i?reverse-depends("^mc$")' -F "%p" | xargs sudo apt-get install
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
mc-data
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1.166 kB of archives.
After this operation, 5.550 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ wily/universe mc-data all 3:4.8.13-3 [1.166 kB]
Fetched 1.166 kB in 0s (1.250 kB/s)
Selecting previously unselected package mc-data.
(Reading database ... 606748 files and directories currently installed.)
Preparing to unpack .../mc-data_3%3a4.8.13-3_all.deb ...
Unpacking mc-data (3:4.8.13-3) ...
Processing triggers for doc-base (0.10.6) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.7.4-1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Setting up mc-data (3:4.8.13-3) ...
종속성 만 설치하려면을 사용할 수 있습니다 apt-cache show package | grep Depends
. 이것은 당신에게 의존성 목록을 줄 것입니다 :
apt-cache show apache2 | grep Depends
Depends: apache2-mpm-worker (= 2.2.22-6ubuntu5.1) | apache2-mpm-prefork (= 2.2.22-6ubuntu5.1) | apache2-mpm-event (= 2.2.22-6ubuntu5.1) | apache2-mpm-itk (= 2.2.22-6ubuntu5.1), apache2.2-common (= 2.2.22-6ubuntu5.1)
그런 다음 apt-get을 사용하여 설치할 패키지를 결정할 수 있습니다. aptitude
대화식 모드 에서도 패키지를 찾아 선택한 다음 종속성을 설치하십시오.