중지하지 않고 여러 패키지를 설치하십시오.


25

apt-get install을 사용하여 다양한 패키지를 설치하는 bash 스크립트를 만들고 있습니다. 그러나 나는 다음과 같은 줄이 있다면

sudo apt-get install package1 package2 package3

패키지 중 하나를 찾을 수 없으면 다른 패키지는 설치되지 않습니다. 패키지 중 하나를 찾을 수없는 경우에도 계속 진행하려면 어떻게해야합니까?

미리 감사드립니다.

답변:


18

나는 apt-get옵션을 제안한다

sudo apt-get --ignore-missing install $list_of_packages

그러나 누락 된 종속성은 무시할 수 없으며 사용하더라도 --force시스템이 손상 될 수 있습니다.


1
--ignore-missing다운로드 문제에 대한 해결 방법 만 참고하십시오 . 참조 superuser.com/a/844627/106974
이삭

3
실제로 작동하지 않습니다.
leoheck 2016 년

9
for i in package1 package2 package3; do
  sudo apt-get install $i
done

5
약간의 잔인한 성능이 현명하지만 (패키지 종속성 트리는 모든 반복마다 처음부터 작성됩니다) 잘 작동합니다.
Serge Broslavsky

@blueskin이 언급했듯이 -y, 특히 대규모 패키지 목록을 설치할 때 옵션과 상호 작용하지 않으려면 옵션을 사용하는 것이 좋습니다.
pd12

0

하나의 명령이 아닌 별도의 명령으로 각 패키지를 설치하십시오.이 방법으로 찾을 수 없거나 다른 오류로 인해 설치에 실패하면 다른 패키지의 설치가 중단되지 않습니다. 다음과 같이 'for'루프를 사용할 수 있습니다. 또한 -y많은 패키지를 설치하는 경우 플래그 를 사용하여 yes각 패키지에 대한 입력 오류를 피하십시오 .

INSTALL_PKGS="pk1 pk2 pk3 pk4 pk5 ... and so ... on ..pk_gogol"
for i in $INSTALL_PKGS; do
  sudo apt-get install -y $i
done

@Fabby 나는 당신의 만족을 위해 텍스트를 편집했습니다
blueskin

1
새 답변보다 기존 답변을 수정 한 것 같습니다 . ¯ \ _ (ツ) _ / ¯ 죄송합니다! -1 ...
Fabby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.