RPM忽略冲突

有没有办法通过保持最新版本安装忽略rpm版本冲突?

例如。 我想在AIX中安装gawk。 我有一个文件夹中所有需要的RPM

bash-4.2-11.aix5.1.ppc.rpm gawk-4.0.2-1.aix5.1.ppc.rpm gettext-0.10.40-8.aix5.2.ppc.rpm info-4.13a-2.aix5.1.ppc.rpm libsigsegv-2.10-1.aix5.2.ppc.rpm readline-6.2-4.aix5.1.ppc.rpm 

我试着用rpm来安装它们,给rpm -ivh *.rpm这样rpm就会自动处理安装顺序。

但是我得到:

 package bash-4.2-11 is already installed package gettext-0.17-7 (which is newer than gettext-0.10.40-8) is already installed package info-5.0-1 (which is newer than info-4.13a-2) is already installed package readline-6.2-4 is already installed file /opt/freeware/bin/msgcomm from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/bin/msgfmt from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/bin/msgmerge from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/bin/msgunfmt from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/bin/ngettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/bin/xgettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/lib/libintl.a from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/bin/gettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/bin/msgcmp from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/share/locale/locale.alias from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7 file /opt/freeware/info/info-stnd.info.gz from install of info-4.13a-2 conflicts with file from package info-5.0-1 file /opt/freeware/info/info.info.gz from install of info-4.13a-2 conflicts with file from package info-5.0-1 file /etc/X11/applnk/Utilities/info.desktop from install of info-4.13a-2 conflicts with file from package info-5.0-1 file /opt/freeware/man/man1/info.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1 file /opt/freeware/man/man1/infokey.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1 file /opt/freeware/man/man1/install-info.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1 file /opt/freeware/man/man5/info.5 from install of info-4.13a-2 conflicts with file from package info-5.0- 

那么,有什么办法可以忽略gettext和info冲突吗? 我不想使用武力,并用旧版本replace它们。

我知道,如果我尝试手动安装rpms而不安装gettext和info rpms,那么gawk的安装将会成功。

我想find一个解决scheme,不涉及我以正确的顺序手动安装rpms。

编辑:我有真-Uvhrpm -Uvh *.rpm的问题是,而不是安装新的rpm二进制文件解决它们的依赖关系与已安装或在文件夹中,它只输出:

 package gettext-0.17-7 (which is newer than gettext-0.10.40-8) is already installed package info-5.0-1 (which is newer than info-4.13a-2) is already installed package readline-6.2-4 is already installed 

并停止不进入其他需要安装的RPM。 我相信这不是一个正常的行为,我不知道这是否与一个问题在rpm(我使用旧版本 – 版本3)。

由于您正在更新现有软件包,而不是专门安装软件包,因此需要使用更新选项-U而不是安装选项-i 。 这将允许您一次安装和更新软件包。

 rpm -Uvh *.rpm 

所以,

我在这里发表我的部分答案,因为我认为我的主要问题可能有点误导。

rpm -Uvh *.rpm是要走的路。 它会更新已安装的软件包的新版本,并且还会安装系统中尚未安装的新RPM。

但! 当您尝试使用rpm -Uvh *.rpm安装rpms rpm -Uvh *.rpm如果该文件夹中的软件包与已安装的软件包相同或较旧,则不会继续执行。 该命令只是输出已经安装的软件包,并在那里停止而不继续安装其他rpms。

我认为这是我正在使用的旧版rpm(3版)的一个buggy行为。 我不知道这是否被认为是正常的,如果它也发生在最新版本的rpm。 也许你可以提供更多的信息。

你没有指定,但看起来你正在使用Michael Perzl的RPM 。

如果是这种情况,请按照常见问题中的说明操作:

  1. 下载所有的依赖关系
  2. 使用gettext-0.17来避免使用gettext-0.10时发生的已知错误
  3. 使用最新版本更安全,因此使用rpm -Uvh安装时,请使用新版本replace现有软件包。