apt-get에서 패키지 문제를 찾을 수없는 설치가 발생하면 오류 계속


11

내가 다음을 실행할 때 :

sudo apt-get install vim abcde php5-cli

예상되는 동작 인 다음 메시지와 함께 실패합니다.

E : abcde 패키지를 찾을 수 없습니다.

설치 vim하고 싶습니다 . 오류가 있어도 abcde계속 php5-cli패키지 를 설치하십시오 . 의미 apt-get는 패키지 중 일부를 찾을 수 없어도 목록을 계속 진행 하고 싶습니다 .

난 노력 했어:

sudo apt-get install --ignore-missing vim abcde php5-cli

답변:


9

짧은 대답 : 실제로이 작업을 원하지 않을 수도 있습니다.

왜 그런 겁니까? 이 특정 기능에 대해 많은 논의가있었습니다. 그중 하나는이 (중복) 버그 보고서 와 그에 연결된 것입니다.

버그 보고서에 대한 토론은 또한 "-무시 누락"은 "apt-get"정보에 의해 존재해야하는 패키지를 다운로드하는 데 문제가있는 경우에만 적용된다고 설명합니다. 여기설명서 에도 설명 되어 있습니다.

해결 방법이 있습니까?

이전 소스를 읽은 후 당신은 당신이 다음이 작업을 수행 할 매우 확실하고 있으면, 다른 한편으로는, (차선이 아니라 안전) 사용자 "알렉산드르 Levchuk"에 의해 지정된 것과 같은 옵션이 있습니다 여기 :

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

또는 최소한의 수정으로 원 라이너를 선호하는 경우 :

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

패키지 -y가 많으면 계속해서 확인을 요청하지 않도록 추가 할 수 있습니다 .

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

또는:

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

도움이 되었기를 바랍니다.


그건 그렇고, 당신이 Bash 대신 Fish를 사용하는 나와 같은 누군가라면, 먼저 bash를 입력하여 쉘을 전환해야합니다. 그런 다음 어떤 이유로 생선 껍질이 작동하지 않기 때문에 명령을 복사하여 붙여 넣으십시오. Bash와 잘 작동합니다.
Ev-

1

이를 피하는 한 가지 방법 은 각 패키지마다 apt-get을 한 번 호출하는 것입니다 .

echo package1 package2 package3 | xargs -n 1 sudo apt-get install -y

또는 기능으로

function install_ignore_fail { echo "$*" | xargs -n 1 sudo apt-get install -y; }

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