通过RPM拷贝Perl模块是否是好的做法?

RHEL6服务器上的一些应用程序依赖于几个Perl模块。 在打开新主机时,我想将这些Perl模块作为Kickstart过程的一部分。 与开始慢的CPAN相反,我决定只将这些Perl模块打包到一个RPM中,然后将它们转储到适当的位置,并在Perl的lib目录中创build任何必需的目录。

这是不好的做法,因为我不是真的“安装”他们,而只是复制他们?

在基于RPM的发行版上从RPM安装将是pipe理软件包和configuration的最佳方式。 它有一个相对陡峭的学习曲线,所以如果您已经在为这些模块生成RPM,那么考虑自己在游戏之前。

你可能想看看EPEL ,并确保你没有重复的努力。 那里已经有很多Perl模块了。 它可能会帮你避免重蹈覆辙

如果我完全明白你在做什么,那么不,这不是坏习惯。 当CPAN“安装”一个模块时,实际上只是复制它们,所以两者之间没有真正的区别。 如果RPM带有要安装的文件作为有效负载,那么这与红帽提供的perl模块是一样的,所以这是完全可以接受的。 如果RPM发出“cp”或“wget”types的命令来放置文件到%post部分,我会认真的build议不要这样做。 在第一种情况下,我唯一要注意的是每个模块一个RPM,而不是一个RPM多个模块。

如果你没有错过任何Perl模块的依赖关系,这并不坏。 但是我认为在你的上下文中,你应该为Perl模块创build一个rpm包,把它推到你的本地仓库,并让你的服务器使用这个仓库安装Perl模块。

这里是一个为Perl模块创buildrpm包的说明。