新旧rpm包的该文件不同,则根据这文件的标记行事。 文件被标记为%config,文件被覆盖为新版本文件,原修改后的文件保存为*.rpmsave。 文件被标记为%config(noreplace),文件不会被覆盖,新rpm包里的文件被保存为 *.rpmnew. 之前我在rpm包里把文件标记为%config(noreplace),所以文件没替换掉原有的文件,将标记改为%c...
%config使得旧文件被改名为.rpmsave并安装新文件,而%config(noreplace)将保持旧文件 并将新文件安装为.rpmnew。 建议一般配置文件都标识为(noreplace),除非升级所带来的配置文件变动非常重要, 使用上一版本的配置文件无法正常工作时才使用%config。
%config使得旧文件被改名为.rpmsave并安装新文件,而%config(noreplace)将保持旧文件 并将新文件安装为.rpmnew。 建议一般配置文件都标识为(noreplace),除非升级所带来的配置文件变动非常重要, 使用上一版本的配置文件无法正常工作时才使用%config。
1. 解释rpm部署配置中的#%config(noreplace)指令含义 在RPM包的%files部分中,#%config(noreplace)指令用于指定某个配置文件在安装过程中不应被RPM包中的版本替换,除非用户明确指定覆盖(如通过rpm -Uvh --replacefiles命令)。这通常用于保护用户可能已经自定义的配置文件不被覆盖。 2. 描述在rpm包中如何应用#%config...
%config使得旧文件被改名为.rpmsave并安装新文件,而%config(noreplace)将保持旧文件并将新文件安装为.rpmnew。 建议一般配置文件都标识为(noreplace),除非升级所带来的配置文件变动非常重要,使用上一版本的配置文件无法正常工作时才使用%config。
背景:经blockips实践%config(noreplace) /usr/local/nginx/conf/blockips.conf,在安装时有/usr/local/nginx/conf/blockips.conf,不会覆盖原来的,而是新起文件名:/usr/local/nginx/conf/blockips.conf.rpmnew ,在删这个rpm包时,rpm -e blockips 会将原来的没有被覆盖的文件/usr/local/nginx/conf/blockips....
%config(noreplace) %{_sysconfdir}/security/console.apps/* %{_sysconfdir}/X11/xinit/xinitrc.d/* %{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/* %endif %changelog * Sat Jun 23 2012 Karanbir Singh <kbsingh@centos.org> - 13.21.176.1.el6.centos ...
我正在写一个rpm规范文件,我想在更新期间保存一个db文件。我正在阅读文档,到目前为止,我发现持久化配置files.It的%config修饰符是这样表示的:%config(noreplace) foo.db 这是在rpm更新期间持久化文件的正确方式吗 浏览0提问于2016-08-18得票数0 1回答 ...
%config(noreplace) 宏可确保以下文件是一个配置文件,因此如果从原始安装校验和中修改了该文件,则不应在软件包安装或更新包时覆盖(或替换)。如果有更改,则会在升级或安装时使用 .rpmnew 创建该文件,以便不修改目标系统上的预先存在的或修改的文件。示例:%config(noreplace) %{_sysconfdir}/%{name}/%{name}....
%files%defattr(644,root,root,755)%doc README%config(noreplace) /etc/nest_info/config.json%exec /usr/bin/nest_info 在包含 nest_info.spec 文件的目录中,运行以下命令来构建 RPM 包: bash rpmbuild -ba nest_info.spec 这将在 ~/rpmbuild/RPMS 目录下生成你的 RPM 包。最后,我们使用rpmbuild工具,...