我有一个 gitlab 管道,每次我都会在其中安装最新的 rpm。
有时,即使手动更改目标机器,rpm 也应该能够成功安装。
但不知何故我遇到了以下错误。
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Ignored option -q, -v, -d or -e (probably due to merging: -yq != -y -q)
605133599.rpm | 124 kB 00:00:00
Examining /var/tmp/yum-root-RG0U7M/605133599.rpm: myproject-nightlye2e-1.x86_64
/var/tmp/yum-root-RG0U7M/605133599.rpm: does not update installed package.
Error: Nothing to do
因此,即使机器没有安装任何版本或安装了较旧/最新/相同的版本,当我使用 rpm 文件运行下面的 yum install 时,它也应该强制安装或更新。
yum install -yq rpmfilepath
怎么做?
请提出建议。
答案1
如果您满足所有软件包先决条件,您可以运行如下命令:
rpm -U package.rpm
强制安装该包,即使它已经安装。
答案2
使用时不要合并选项yum
。只需使用此命令:
yum install -y rpmfilepath >/dev/null
>/dev/null
我在这里使用amd 的原因-q
是它不会隐藏有关已安装依赖项的消息。例如:
# yum install -y -q rpmfilepath
Installed:
glibc-2.31-6.fc32.i686 libgcc-10.3.1-1.fc32.i686 rpmfilepath
如果确实需要(例如降级),那么你可以简单地运行
# rpm -U --force rpmfilepath
yum
将会安装依赖项,之后您可以使用--force
(= --replacepkgs --replacefiles --oldpackage
) 进行安装rpm
。