하나의 yum 명령을 사용하여 여러 패키지를 설치하면 해당 패키지 중 하나라도 사용할 수 없으면 실패합니다.

하나의 yum 명령을 사용하여 여러 패키지를 설치하면 해당 패키지 중 하나라도 사용할 수 없으면 실패합니다.

yum하나의 명령으로 여러 패키지를 설치하고 그 중 하나라도 사용할 수 없으면 실패하고 싶습니다 . 그러나 패키지 yum install -y foobar가 없어 foobar실패하는 동안에는 누락된 패키지가 yum install -y mysql foobar설치 되고 자동으로 무시됩니다 .mysqlfoobar

요청한 패키지가 모두 설치되었는지 확인하는 좋은 방법이 있습니까? 가장 좋은 아이디어는 No package .* available출력에서 ​​문자열을 찾는 것입니다. 기본적으로 다음과 같습니다.

yum install -y mysql foobar | grep 'No package .* available'; [ ! $? = 0 ]

문제는 인쇄된 오류 메시지에 따라 yum시간이 지남에 따라 해당 메시지가 변경될 수 있다는 것입니다. grep출력도 삼켜지며 yum, 이로 인해 사용할 수 없는 패키지 외에도 향후 디버깅 문제가 복잡해질 수 있습니다.

답변1

이 매개변수를 사용하면 패키지가 누락된 경우 --setopt=skip_missing_names_on_install=False오류가 발생합니다 .yum

yum install -y --setopt=skip_missing_names_on_install=False mysql foobar

관련 정보