答案1
编写错误的 RPM .spec 文件(甚至是编写良好的但有拼写错误的文件)可能会产生不正确的结果,例如:
- 直接安装到正在运行的系统而不是沙盒中
- 在文件系统上留下垃圾
- 意外运行恶意命令,例如:
rm -rf ${RPM_BUILD_ROOT}
RPM 构建过程中没有任何部分需要 root 权限。因此,我们在构建 RPM 时应遵循“如果不需要 root 权限,则不会以 root 身份运行”的标准流程。
这可以避免严重的事故和意外。
答案2
嘲笑对于 fedora 来说也很不错。如果它可以在 mock 中构建,那么它很可能是一个非常干净的 RPM。
答案3
一般来说,除非您确实需要权限,否则您永远都不应该使用 root 用户。但您说得对,主要问题是“rpmbuild”会执行您写入 spec 文件的几乎所有内容。(覆盖文件、创建用户、删除文件等)。
编辑:
顺便提一下,我建议看一下openSUSE 构建服务这使得为不同发行版构建 rpm 变得非常容易。(它也可以设置为本地实例。)
答案4
当我在互联网上搜索时,我在以下链接中找到了你提出的问题的原因 http://pmc.ucsc.edu/~dmk/notes/RPMs/Creating_RPMs.html
它只是为了避免意外的错误或无意的事情而发出警告。