由于文件冲突,我安装失败。我仅在 Red Hat Linux 7 上遇到此问题。相同的规范文件适用于 Ubuntu 和其他 Linux 发行版。
%pre
我尝试在、%post
和部分上添加 echo %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
安装过程中出错:
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
答案1
您不能安装两次相同的 rpm。因此,如果您想安装相同 rpm 的较新版本(在您的情况下为 mypackage);你需要使用该-U | --upgrade
选项。的典型用法rpm
如下:
rpm -Uvh mypackage-<new-version>.rpm
-U
: 将 mypackage 升级到此版本-vh
: 很好地展示了进展。