我们 RHEL6 服务器上的几个应用程序依赖于一些 Perl 模块。我想在启动新主机时将这些 Perl 模块作为 Kickstart 过程的一部分添加。与启动 CPAN(速度很慢)相反,我决定将这些 Perl 模块打包成 RPM,只需将它们转储到适当的位置并在 Perl 的 lib 目录中创建任何必要的目录即可。
这是不好的做法吗,因为我并没有真正地“安装”它们,而只是复制它们?
答案1
在基于 RPM 的发行版上从 RPM 安装将是管理软件包和配置的最佳方式。它的学习曲线相对较陡,因此如果您已经为这些模块生成 RPM,请考虑提前做好准备。
你可能想看看电力供应处,并确保您没有重复劳动。那里已经有许多 Perl 模块。它可能会让您免于重新发明轮子……
答案2
如果我完全理解你在做什么,那么不,这不是坏习惯。当 CPAN“安装”模块时,它实际上只是复制它们,因此两者之间没有真正的区别。如果 RPM 将要安装的文件作为有效负载,那么这与 Red Hat 提供的 perl 模块所做的相同,因此完全可以接受。如果 RPM 发出“cp”或“wget”类型的命令将文件放入 %post 部分,我强烈建议不要这样做。在第一种情况下,我唯一要提醒的是,每个模块制作一个 RPM,而不是一个包含多个模块的 RPM。
答案3
如果您没有遗漏任何 Perl 模块的依赖项,那就还不错。但我认为在您的上下文中,您应该为 Perl 模块创建一个 rpm 包,将其推送到您的本地存储库,并让您的服务器使用此存储库安装 Perl 模块。
这里是创建 Perl 模块 rpm 包的指令。