/etc/rpmrc and ~/.rpmrc
有人可以分享系统管理员何时和/或在何处使用路径 () 下的 rpmrc 文件的示例吗?
从问题中可以明显看出,但为了清楚起见,我是菜鸟,没有 Linux 经验,更不用说 CentOS 了。我在互联网上搜索了使用 rpmrc 的时间、地点和原因,但没有找到太多信息。 (也许我没有在寻找正确的东西!)
我希望了解管理员可以进行哪种类型的系统范围自定义/etc/rpmrc
以及管理员可以进行哪些自定义~/.rpmrc
。
答案1
该文件/etc/rpmrc
已过时且已过时。现代系统/etc/rpm/macros.*
甚至使用/usr/lib/rpm/macros.d/
.
你不应该碰它。即使作为用户也不行。即使作为打包人员或 DevOps 人员也不行。创建发行版的人将发行版默认值放在那里。
几乎所有宏不影响运行时间。它们在包的构建过程中被读取和解释,并且以后不能更改。因此应该没有必要改变它。
您可能想要更改构建自定义包的计算机上的一些宏。即使这样你也不应该碰它。对于这种情况,您可以而且应该使用~/.rpmmacros
.
您不应该在那里定义新的宏。当您在 SPEC 文件中使用此类宏时,无法在不同的计算机上构建该包。当您需要定义新的宏时,您应该在 SPEC 文件的顶部执行此操作。
还有一些好的例子吗?
最好重新定义现有的宏。例如,_smp_mflags
。如果你检查它是如何定义的(rpm --showrc
是你的朋友),那么你会发现它会根据你的 CPU 核心传递给 make -l 选项。但上限是16核。现在,想象一下,您正在构建一些需要大量并行性的科学包。你有一台有 128 个核心的机器。你没有使用你拥有的全部力量!当您放置时,您可以提高构建 rpm 包的性能
_smp_mflags -l128
在里面~/.rpmmacros
。