4 votes

Comment installer automatiquement les paquets Perl sous FreeBSD en utilisant un script Perl sans aucune invite ?

Je veux installer les paquets Perl automatiquement en utilisant un script Perl. Le code que j'utilise est

#!/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");
};

Pendant l'exécution du script, il demande des invites comme oui ou non, des mots de passe, etc. Comment gérer ces demandes automatiquement ? Je dois le déployer sur de nombreux serveurs donc je devais l'automatiser.

3voto

Mateusz Piotrowski Points 3815

Pourquoi n'utilisez-vous pas le Recueil de logiciels portés FreeBSD ?

Utilice pkg(8) si vous voulez juste les valeurs par défaut

Il semble que cela pourrait être simplifié en installant simplement quelques paquets précompilés :

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

Utilice ports(7) si vous voulez plus de contrôle sur le logiciel que vous installez

Si vous voulez configurer ces paquets (comme activer des fonctionnalités supplémentaires, désactiver l'installation de la documentation et ainsi de suite), vous pouvez les construire vous-même à partir des ports :

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

Voir Manuel FreeBSD pour plus de détails (comme les instructions pour obtenir une copie de l'arbre des ports sur votre machine).

Si vous ne voulez que les valeurs par défaut, vous pouvez passer l'option BATCH=YES à la marque comme ceci : make BATCH=YES install .

Si vous avez besoin de paquets supplémentaires ou si vous devez adapter le paquet existant au-delà de ce qui est offert dans les ports officiels, alors vous pouvez vous procurer une copie de l'arbre des ports et vos propres ports/modifier ceux existants à votre goût. Voir le Le manuel de Porter pour plus de détails.

Utiliser les outils existants pour gérer efficacement les ports

Les ports sont généralement un excellent moyen de gérer les paquets sur votre système. Le cadre est facile à utiliser et à modifier. Vous pouvez également être intéressé par l'étude du outils de gestion des ports disponibles .

1voto

Deeptanshu Goel Points 93

J'ai trouvé une solution pour cela : lorsqu'il y a une invite entre l'installation d'un paquet, qu'elle soit automatisée ou manuelle, l'invite s'arrête automatiquement au bout de 15 secondes et l'installation continue comme d'habitude. | ) s'il y a une invite pour "oui" seulement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X