installation de nombreux modules Perl

J'ai été débarqué pour documenter comment installer une application très compliquée sur un server propre. Une partie de l'application nécessite beaucoup de scripts perl, dont chacun semble nécessiter beaucoup de différents modules perl.

Je ne connais pas très bien Perl, et je ne connais qu'une seule façon d'installer les modules requirejs. Cela signifie que ma documentation ressemble maintenant à ceci:

Tapez chacune de ces commands et acceptez toutes les valeurs par défaut:

sudo perl -MCPAN -e 'install JSON' sudo perl -MCPAN -e 'install Date::Simple' sudo perl -MCPAN -e 'install Log::Log4perl' sudo perl -MCPAN -e 'install Email::Simple' (.... continues for 2 more pages... ) 

Est-ce que je peux faire toute cette ligne comme je peux avec aptitude, c.-à-d.

Tapez la command suivante et allez prendre un café:

 sudo aptitude install openssh-server libapache2-mod-perl2 build-essential ... 

Merci (au nom des personnes qui souffrent longues qui liront mon document)


EDIT: La meilleure façon de le faire est d'utiliser les versions emballées. Pour les modules qui n'étaient pas emballés pour Ubuntu 10.10, j'ai fini par un petit script perl que j'ai trouvé ici .

 #!/usr/bin/perl -w use CPANPLUS; use ssortingct; CPANPLUS::Backend->new( conf => { prereqs => 1 } )->install( modules => [ qw( Date::Simple File::Slurp LWP::Simple MIME::Base64 MIME::Parser MIME::QuotedPrint ) ] ); 

Cela signifie que je peux mettre une belle doublure dans mon document:

 sudo perl installmodules.pl 

5 Solutions collect form web for “installation de nombreux modules Perl”

Selon votre dissortingbution, de nombreux modules perl peuvent déjà être emballés.

Avant d'utiliser CPAN, vérifiez si certains / la plupart / tous les packageages nécessaires ne sont pas déjà disponibles pour votre distro.

J'ai trouvé que le CPAN n'était pas idéal pour les systèmes à longue durée de vie car les modules de mise à jour au fil du time semblent être less que l'idéal.

Je vous reorderais d'utiliser le système de gestion de packages embedded dans votre système. En utilisant un référentiel spécifique à la dissortingbution, vous devriez avoir less de problèmes avec les dependencies et, au fur et à mesure que les modules seront mis à jour, vous recevrez également les nouvelles versions. Comme vous semblez utiliser Ubuntu, vous devrez peut-être activer certains des repositorys supplémentaires tels que le monde, ou le métaverse, ou uber-ultra-intraverse.

À défaut, il existe un site Web relativement nouveau appelé Linux Packages Search qui tente de comstackr des packages pour tous les types de systèmes. J'ai eu de la chance de find des packages supplémentaires dont j'avais besoin, si ce n'était pas disponible ailleurs.

Si vous devez effectuer une installation à partir de la source de ces modules (comme je l'ai souvent besoin, puisque je les installe en tant qu'user non root dans un location autre que le système standard), je recommand CPANPLUS comme une mise à niveau valable vers le CPAN standard – il gère la résolution de dépendance et peut installer automatiquement toutes les dependencies d'un module pendant que vous obtenez un café.

En outre, si cette grande application compliquée que vous installez est également dissortingbuée sur le CPAN (je vais faire une estimation externe que c'est RT, le cauchemard préféré de dépendance de perl de tous), il existe souvent un package Bundle::AppName sur le CPAN comme bien, ce qui déploie tout ce qui est nécessaire pour une version donnée de l'application.

J'espère que cela pourra aider; bonne chance!

Je créerais un module de style de tâche qui regroupe toutes vos lists de dependencies dans un module de style CPAN. De cette façon, vous pouvez utiliser des outils cpan standard pour le gérer. Par exemple, voici un package que j'utilise souvent (plug sans vergogne)

http://search.cpan.org/perldoc?Task::BeLike::JJNAPIORK

Vous pourriez probablement prendre quelque chose comme ça et modifier au besoin.

En outre, envisagez d'utiliser local :: lib plutôt que le path d'access global perl. De cette façon, vous obtenez une meilleure gestion de vos repositorys et vous n'avez pas besoin de root. Voici un lien vers un bon livre gratuit qui couvre ce (entre autres)

http://www.onyxneon.com/books/modern_perl/index.html

utilisez la fonction du système et utilisez l'opérateur && après chaque installation du module comme

 system("sudo apt-get install 1 && sudo apt-get install 2 &&...."); 
  • Exercice de encoding pour Linux Systems Admin?
  • Redhat Linux dépend de la version de time d'installation Perl?
  • Effectuez une erreur lors de la compilation de Perl 5.12.1 (RHEL 5.5)
  • Comment puis-je faire fonctionner Apache pour exécuter des scripts Perl après la fermeture du browser?
  • Script Perl qui va à distance ssh vers linux et récupère l'état de la memory dans ma machine
  • incapable de changer le chargement du module Spamassasin dans un style amavisd
  • SSH exécuté par Perl obtient SIGSTOP instantanément
  • Modifier le file avant d'envoyer au gestionnaire cgi
  • Apache renvoie la source de script perl au lieu d'exécuter le script lorsque la request provient de chrome
  • Comment exécuter un travail de cron?
  • Installation d'apxs sur Windows 64
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.