패키지가 누락된 경우 오류를 생성하는 Yum 옵션이 있습니까?

패키지가 누락된 경우 오류를 생성하는 Yum 옵션이 있습니까?

저는 로컬 yum 저장소 세트를 사용하고 있으며 이러한 저장소에서 패키지 세트를 설치하려고 합니다. 명령줄에 특정 패키지가 존재하지 않을 때 Yum은 해당 패키지를 찾을 수 없다고 인쇄하고 계속 진행되는 것을 확인했습니다.

이런 일이 발생하면 Yum에게 그만두라고 말할 수 있나요? 내 리포지토리와 패키지를 제공하고 문제가 있는지 알려주는 데 사용할 수 있는 다른 Yum 유틸리티가 있습니까?

yum --disablerepo=* --enablerepo=myrepo --nogpgcheck \
   --installroot=/var/some/place/test install \
   abasdfasfeafseasfeasef bash coreutils utils-linux

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
No package **abasdfasfeafseasfeasef** available.
No package **utils-linux** available.

<snip>

Complete!

다른 스크립트에서 Yum을 호출하고 있는데 내가 설치한 패키지가 다음과 같은지 알 수 없는 것 같습니다.진짜설치하다.

답변1

yum의 최신 버전(yum-3.4.3-133.el7+,티켓)는 이 사용 사례에 도움이 되는 두 가지 옵션을 제공합니다.

설치 시 누락된 이름 건너뛰기False로 설정하면 제공된 이름(패키지, 그룹, rpm 파일) 중 하나라도 발견되지 않으면 "yum install"이 실패합니다. 부울(1, 0, 참, 거짓, 예, 아니요). 기본값은 True입니다.

업데이트 시 누락된 이름 건너뛰기False로 설정하면 제공된 이름(패키지, 그룹, rpm 파일) 중 하나라도 발견되지 않으면 "yum update"가 실패합니다. 제공된 이름이 사용 가능하지만 설치되지 않은 패키지에 대한 이름인 경우에도 실패합니다. 부울(1, 0, 참, 거짓, 예, 아니요). 기본값은 True입니다.

원천:매뉴얼 페이지

용법:

yum --setopt=skip_missing_names_on_install=False <commands-here>

답변2

yum 대신 dnf를 사용해 보세요. 예전처럼 패키지를 사용할 수 없으면 실패합니다. CentOS에서는 다음을 통해 설치할 수 있습니다.

yum -y install epel-release && \
yum -y install dnf

그런 다음 누락된 패키지에서 오류가 발생합니다.

dnf -y install foobar
Error: no package matched: foobar

답변3

yum에 대해서는 모르지만 rpm -q my_package .... 패키지가 누락된 경우 오류 상태로 종료됩니다.

$ rpm -q abasdfasfeafseasfeasef bash coreutils utils-linux
package abasdfasfeafseasfeasef is not installed
bash-4.1.2-9.el6_2.x86_64
coreutils-8.4-19.el6.x86_64
package utils-linux is not installed
$ echo $?
1
$ rpm -q bash
bash-4.1.2-9.el6_2.x86_64
$ echo $?
0

관련 정보