为什么以root身份创buildRPM?

这个页面包含一个突出的警告:

重要

永远不要以root身份build立RPMS。

为什么以root身份创buildRPM? 是覆盖一些文件的可能性吗? 有没有文件权限问题?

写得不好的RPM .spec文件(甚至是写得很好的打字错误)都可能做不正确的事情,例如:

  • 直接安装到正在运行的系统而不是沙箱
  • 在文件系统上留下垃圾
  • 意外地运行令人讨厌的命令,例如: rm -rf ${RPM_BUILD_ROOT}

没有实际需要root访问权限的RPM构build过程的一部分。 所以,在构buildRPM时,我们应遵循“如果不需要root权限,不以root身份运行”的标准程序。

这避免了令人讨厌的事故和惊喜。

嘲笑 Fedora也不错。 如果它build立在模拟,很可能是一个相当干净的RPM。

一般来说你不应该使用root用户,除非你真的需要权限。 但是你是对的主要问题是'rpmbuild'会执行几乎所有你写入spec文件的东西。 (覆盖文件,创build用户,删除文件等)。

编辑:

作为一个方面的说明,我会build议看看openSUSE的构build服务 ,这使得build立不同的分布rpms真的很容易。 (它也可以设置为本地实例。)

当我通过互联网search时,我在下面的链接http://pmc.ucsc.edu/~dmk/notes/RPMs/Creating_RPMs.html中得到了你的问题的原因

只是为了避免意外的错误或无意的事情。