Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何忽略rpm安装中的冲突_Linux_Unix_Rpm_Aix - Fatal编程技术网

Linux 如何忽略rpm安装中的冲突

Linux 如何忽略rpm安装中的冲突,linux,unix,rpm,aix,Linux,Unix,Rpm,Aix,我在一个文件夹里有一堆rpm文件。我正在尝试使用以下方式安装它们: rpm-ivh*.rpm这样rpm就可以按照正确的安装顺序进行安装 在某些RPM上,我的系统中安装了更新的版本,因此我得到了以下示例: 软件包info-5.0-1(比info-4.13a-2更新)已安装 info-4.13a-2安装的/opt/freeware/man/man1/infokey.1与包info-5.0-1中的文件冲突 有没有办法忽略旧的.rpm文件并解决与已安装的新版本的依赖关系?我想到了武力的选择。但武力如何解

我在一个文件夹里有一堆rpm文件。我正在尝试使用以下方式安装它们:
rpm-ivh*.rpm
这样rpm就可以按照正确的安装顺序进行安装

在某些RPM上,我的系统中安装了更新的版本,因此我得到了以下示例:

软件包info-5.0-1(比info-4.13a-2更新)已安装

info-4.13a-2安装的/opt/freeware/man/man1/infokey.1与包info-5.0-1中的文件冲突

有没有办法忽略旧的.rpm文件并解决与已安装的新版本的依赖关系?我想到了武力的选择。但武力如何解决冲突呢?用旧版本覆盖它们,还是忽略它们而保留新版本


欢迎任何想法。

从上下文来看,冲突是由软件包的版本引起的。
让我们看一下关于<代码> rpm < /代码>的手册:

--force
    Same as using --replacepkgs, --replacefiles, and --oldpackage.

--oldpackage
    Allow an upgrade to replace a newer package with an older one.
因此,您可以执行命令
rpm-Uvh info-4.13a-2.rpm--force
来解决您的问题。

尝试刷新命令:

rpm -Fvh *.rpm
--force
选项将重新安装已安装的软件包或覆盖其他软件包中已安装的文件。你通常不想要这个

如果您告诉
rpm
从某个目录安装所有rpm,那么它就是这样做的<代码>rpm将不会忽略为安装列出的rpm。您必须手动从列表(或目录)中删除不需要的RPM。它将始终使用“安装的最新RPM”覆盖文件,无论您以何种顺序执行

您可以删除旧RPM,
RPM
将解决与已安装RPM的较新版本的依赖关系。但是,只有当所有要安装的RPM都不完全依赖于旧版本时,这才有效

如果您确实需要相同RPM的不同版本,那么RPM必须是相同的。然后,您可以告诉
rpm
将特定rpm安装到不同的目录。如果文件没有冲突,那么您可以使用
rpm-i
安装不同的版本(
zypper-in
不能安装同一rpm的不同版本)。例如,我在工作中将ruby gems打包为可重新定位的RPM。所以我可以安装同一个gem的不同版本

我不知道您的rpm在哪些文件上存在冲突,但如果所有这些文件都是“只是”手册页,那么您可能只需使用
rpm-I--replacefiles
用旧文件覆盖新文件。这样做的唯一问题是,它可能会让正在阅读旧版手册的人感到困惑,并认为它是针对实际版本的。另一个问题是
rpm--verify
命令。如果旧软件包覆盖了一些文件,它将投诉新软件包


这可能是没有回答我问题的?

的副本吗。就像我说的,我想让新软件包保持安装状态。不替换为旧的…刷新命令仅更新系统中已有的包。如果我想安装一个新的软件包,那就没用了……我认为我们不能在服务器上安装两个不同版本的软件包。