由于保存的事务,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 帮助,但没有任何标志可以覆盖/强制安装,无论它是否保存。

我什至尝试过百胜干净所有yum -y 安装但它没有用。

答案1

问题:尽管我正在做 yum"-y"yum在最后,我提前买了,现在一切都很好。

从:

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 按行执行时,他在下一行看不到 -y,因为他正在执行上一行 yum 命令,这就是问题所在。

认为与社区分享就像互联网上的简单指针一样可以带来很大的不同:)

干杯

答案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

相关内容