Как автоматически установить пакеты Perl во FreeBSD, используя скрипт Perl, без каких-либо подсказок? - PullRequest
0 голосов
/ 31 мая 2018

Я хочу установить пакеты 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");
};

Во время выполнения скрипта он запрашивает приглашение типа да или нет, пароли и т. Д. Как обрабатывать это приглашение автоматически?Я должен развернуть его на многих серверах, поэтому мне пришлось автоматизировать его.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

У меня есть решение для этого, когда между установкой какого-либо пакета появляется запрос на автоматическое или ручное выполнение запроса, после которого автоматически истекает время ожидания после 15 секунд, и дальнейшая установка продолжается как обычно.а также мы можем дать да в трубе (|), если есть подсказка только для "да".

0 голосов
/ 31 мая 2018

Почему бы вам не использовать коллекцию портов FreeBSD ?

Использовать pkg (8) , если вы просто хотите использовать значения по умолчанию

Itпохоже, это можно упростить, просто установив пару предварительно скомпилированных пакетов:

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 для получения более подробной информации (например, инструкции по получению копии дерева портов на вашем компьютере).

Если вы просто хотите использовать значения по умолчанию, тогда вы можете передать BATCH=YES в make следующим образом: make BATCH=YES install.

Если вам нужны какие-либо дополнительные пакеты или вам нужно настроить существующий пакет сверх того, что предлагается в официальных портах, тогда вы можете просто получить копию дерева портов и свои собственные порты / изменить существующиете, чтобывам нравится.См. Справочник портера для получения более подробной информации.

Использование существующих инструментов для эффективного управления портами

Порты, как правило, являются отличным способом управления пакетами в вашей системе.Каркас прост в использовании и модификации.Вас также может заинтересовать доступных инструментов управления портами .

...