我正在尝试安装一些软件包,但每次 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