gpt4 book ai didi

perl - 如何在没有任何提示的情况下使用 Perl 脚本在 FreeBSD 中自动安装 Perl 包?

转载 作者:行者123 更新时间:2023-12-01 00:18:31 24 4
gpt4 key购买 nike

我想使用 Perl 脚本自动安装 Perl 包。我使用的代码是

#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use CPAN;
eval "use JSON"
or do {
CPAN::install("JSON");
};
eval "use Net::Address::IP::Local"
or do {

CPAN::install("Net::Address::IP::Local");
};
eval "use Net::OpenSSH"
or do {

CPAN::install("Net::OpenSSH");
};
eval "use Net::SCP::Expect"
or do {

CPAN::install("Net::SCP::Expect");
};

在脚本运行期间,它会询问是或否、密码等提示。如何自动处理这些提示?我必须将它部署在许多服务器上,所以我不得不将它自动化。

最佳答案

为什么不使用 FreeBSD Ports Collection ?

使用 pkg(8)如果你只想要默认值

看起来可以简化为只安装几个预编译包:

pkg install -y p5-JSON p5-Net-Address-IPv4-Local p5-Net-OpenSSH p5-Net-SCP-Expect

使用 ports(7)如果您想更好地控制您安装的软件

如果你想配置这些包(比如打开附加功能、禁用文档安装等),那么你可以自己从端口构建它们:

cd /usr/ports/converters/p5-JSON && make install
cd /usr/ports/net/p5-Net-Address-IPv4-Local && make install
cd /usr/ports/net/p5-Net-OpenSSH && make install
cd /usr/ports/net/p5-Net-SCP-Expect && make install

FreeBSD Handbook有关更多详细信息(例如有关在您的机器上获取端口树副本的说明)。

如果你只想要默认值,那么你可以通过 BATCH=YES像这样制作: make BATCH=YES install .

如果您需要任何额外的软件包,或者您必须在官方端口提供的软件包之外调整现有软件包,那么您可以给自己一个 copy of the ports tree和您自己的端口/根据您的喜好修改现有端口。见 Porter's Handbook更多细节。

使用现有工具有效管理端口

端口通常是管理系统上软件包的好方法。该框架易于使用和修改。您可能也有兴趣查看 available ports management tools .

关于perl - 如何在没有任何提示的情况下使用 Perl 脚本在 FreeBSD 中自动安装 Perl 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com