加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:33:22 所属栏目:大数据 来源:网络整理
导读:我有一个Perl应用程序需要很多依赖项,我需要在众多服务器上进行部署 我想制作一个自动快速安装Perl应用程序的脚本. 为了更快,我想使用我的包管理器安装我的大多数依赖项,而不是使用CPAN安装它们 有没有办法从perl模块列表中自动确定是否有debian软件包?如果
我有一个Perl应用程序需要很多依赖项,我需要在众多服务器上进行部署

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

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

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

解决方法

嗯,一种方法是看看在系统包管理器周围写一个包装器,即apt-get,如果没有返回包,那么用cpan,cpanm等安装.
sub check_pre_req_package {
  my $package = shift;
  system("dpkg -s $package > /dev/null 2>&1");
  if ( $? != 0 ) {
    system("apt-get -y install $package > /dev/null 2>&1");
      if ( $? != 0 ) {
        system("cpanm $package");
      }
  }
  elsif ($? == 0) {
    print "Package $package is already installed n";
  }
}

my @pre_req_packages = qw(strace nmap gcc);

foreach(@pre_req_packages) {
  check_pre_req_package($_);
}

当然,通过这种方式,您必须区分大小写(或更改大小写),因为我认为debian在所有小写字母中使用lib(package-name)-perl格式,而cpan将需要不同的格式等,加上这段代码是未经测试的,而且是刚刚抛出的东西.

然后有很好的旧bash脚本,因为我在这个例子中使用了系统命令

我最好的建议是你考虑使用像cfengine或puppet这样的东西和/或其他一些我肯定是在那里进行系统配置管理.然后使用svn或git左右…进行更改以推送到将部署到所有服务器的repo.如果你要管理并对“众多”服务器进行更改,那么cfengine / puppet / etc一旦设置就会让你的生活变得更轻松.只是我的两个.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读