저장된 트랜잭션으로 인해 yum 설치에 실패했습니다.

저장된 트랜잭션으로 인해 yum 설치에 실패했습니다.

일부 패키지를 설치하려고 하는데 yum이 실패할 때마다 패키지가 load-transaction 명령을 통해 설치되어야 한다는 메시지가 나타납니다.

이런 식으로 종료하는 것은 형편없기 때문에 yum이 인터넷에서 패키지를 가져와 설치하기를 원합니까?

yum 명령과 출력을 찾으십시오.

주문하다:

Step 4 : RUN yum install httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip
 ---> Running in b0cdbf62be4e

산출:

Total download size: 82 M
Installed size: 186 M
Is this ok [y/d/N]: Exiting on user command
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2016-07-21.12-39.KWu7ih.yumtx
The command '/bin/sh -c yum install httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip' returned a non-zero code: 1

이제 흥미로운 점은 docker 빌드 중에 발생하기 때문에 임시 이미지를 삭제하고 싶은데 이미지를 삭제해도 그런 현상이 발생한다는 것입니다.

yum 도움말을 보았지만 저장 여부에 관계없이 설치를 무시/강제하는 플래그가 없습니다.

나는 심지어 시도했다냠 다 청소해앞으로냠 -y 설치그러나 그것은 작동하지 않았습니다.

답변1

"-y"문제: 냠냠 하고 있는데도마지막에, 미리 구입했는데 이제 모든 것이 괜찮습니다.

에서:

yum install httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip -y

도착하다:

yum -y install httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip

어떤 사람은 차이가 없다고 말할 수도 있고, 기술적으로는 그러면 안 됩니다. 그런데 실제로 docker가 한 줄씩 실행되면 이전 줄에서 yum 명령을 실행하기 때문에 다음 줄에 -y가 표시되지 않는데 그게 문제입니다.

인터넷상의 간단한 포인터처럼 커뮤니티와 공유하는 것이 큰 변화를 가져올 수 있다고 생각하세요 :)

건배

답변2

어쩌면 확인을 기다리는 다른 명령이 있을까요? 달리는 동안에도 같은 문제가 발생했습니다 yum update && yum install -y <packages>. 업데이트 yum명령도 확인을 기다리므로 실행하면 yum update -y && yum install -y <packages>문제가 해결됩니다.

답변3

위의 예에서는 트랜잭션을 다시 실행하면 됩니다.

sudo yum load-transaction /tmp/yum_save_tx.2016-07-21.12-39.KWu7ih.yumtx

관련 정보