创建脚本以自动安装 Perl 应用程序及其依赖项

Vin*_*bré 7 automation installation perl dependencies

我有一个 Perl 应用程序,它需要很多依赖项,我需要在众多服务器上部署这些依赖项

我想制作一个自动快速安装该 Perl 应用程序的脚本。

为了更快,我想使用我的包管理器安装我的大部分依赖项,而不是使用 CPAN 安装它们

有没有办法从 perl 模块列表中自动确定是否有 debian 包?如果有,安装包,如果没有从 CPAN 安装 Perl 模块?

F. *_*uri 0

我的建议:

  • 首先,查看.bash_history已安装的目标,您很有可能会发现脚本中的许多已编写的行可供使用,以自动安装 Perl 应用程序及其依赖项

    您可以仅使用一个终端(注意不要在同一目标上使用另一个会话以确保正确记录每个操作)并使用script命令来安装一个目标。

    script -t install-perl 2>install-perl.t

    尽量不要使用交互式命令,或将每个操作记录到桌面上的另一个文本文件中。

    从那里,你必须能够精细地追溯整个过程

    scriptreplay install-perl.t install-perl

    并构建 shell 脚本,甚至可以通过过滤结果文件install-perl或简单地过滤目标的.bash_history.

  • 中间方式进行一次正确的安装,而不是使用tar. 有时,操作起来更简单,因为所有非 Debian 打包的添加都被限制在/usr/local.

    或者更简单,在所有目标上/usr/local共享单独的分区并以只读模式安装。

  • 最后,更多Debian:从正确的安装(可以称为master)中,创建一个 debian 软件包,将它们安装在您自己的企业存储库中(某些内部 Web 或 ftp 服务器中的简单目录,包含确切的目录结构和您拥有的公钥)去做。)。在您的目标中引用此存储库并正确维护您的主版本。

    注意:理想情况下,您必须为您使用的每个 perl 库构建一个包(或每个库系列一个),但这可能会产生一些额外的工作,并且实际上并不需要,除非您想与 Debian 打包者共享或贡献。

注意:最后一个解决方案看起来有点矫枉过正(意味着维护者需要学习一些知识),但很好:

  1. 这只能学习一次,并且在第二次甚至第三次升级后非常快。
  2. 这是最有效且可扩展的解决方案。
  3. 这必须在现有的工作上完成,而不必再次考虑。
  4. 如果做得好,它的存在时间可能比完成这一切的硬件还要长。