RPM 安装文件与先前安装冲突

5 linux rpm rhel rpm-spec

由于文件冲突,我安装失败。我只在 Red Hat Linux 7 上遇到这个问题。相同的规范文件适用于 Ubuntu 和其他 Linux 发行版。

我试图把回音上%pre%post%preun%postun部分,但我从来没有达到过的消息。我%dump在规范文件的开头尝试过,它也没有打印任何内容。如何跟踪规范文件的执行?

%files
%defattr(-,root,root,-)
@CPACK_PACKAGING_INSTALL_PREFIX@/sbin/MyExe
@CPACK_PACKAGING_INSTALL_PREFIX@/share/doc/@CPACK_PACKAGE_FILE_NAME@/myconf.conf
@CPACK_PACKAGING_INSTALL_PREFIX@/share/doc/@CPACK_PACKAGE_FILE_NAME@/README
%if @IS_RHEL7@
/etc/systemd/system/myoverride.conf
%endif
Run Code Online (Sandbox Code Playgroud)

安装过程中出错:

Preparing packages...
    file /etc/systemd/system/myoverride.conf from install of mypackage-5.0.1.x86_64 conflicts with file from package mypackage-4.11.1.x86_64
    file /usr/sbin/myexe from install of mypackage-5.0.1.x86_64 conflicts with file from package mypackage-4.11.1.x86_64
Run Code Online (Sandbox Code Playgroud)

Chr*_*aes 12

您不能安装两次相同的 rpm。因此,如果您想安装相同 rpm 的较新版本(在您的情况下为 mypackage);您需要使用该-U | --upgrade选项。的典型用法rpm如下:

rpm -Uvh mypackage-<new-version>.rpm
Run Code Online (Sandbox Code Playgroud)
  • -U : 将 mypackage 升级到这个版本
  • -vh : 很好的进度显示。

  • 如果你想安装两个 rpm,你需要重命名其中一个,因为你不能安装两个同名的 rpm (2认同)