Introduction
Parfois on est amené à utiliser des scripts Perl sur des machines n’ayant pas les packages Perl nécessaires au fonctionnement desdits scripts, qu’on soit développeur Perl ou non (auquel cas ne faites pas une confiance aveugle à n’importe quel script trouvé sur Internet… ), il va donc falloir installer les packages manquants soit même
Rechercher le module Perl
En supposant que vous avez les droits root, et que vous utiliser apt-get, sinon à vous d’adapter vos commandes, on utilisera les dépôts de Debian
Seulement voilà, vous connaissez les noms des modules Perl que vous souhaitez utilisez, après consulter CPAN, mais pas forcément leurs noms de packages dans les dépôts Debian
Il suffit de taper le nom de votre
La solution consiste à utiliser ce moteur de recherche, qui vous donne le nom du package Debian correspondant au nom du module Perl recherché, et il existe aussi une variante CPAN ↔ Ubuntu à cette adresse
Il suffit d’entrer le nom du module recherché sous forme de Module::Name ou Module/Name.pm
Par exemple Net::DNS ou Net/DNS.pm pour tomber sur la page suivante, qui malheureusement n’est pas à jour, les liens pointent vers l’ancienne base de données des dépôts Debian, et la section “Dist” (Distribution) indique clairement “oldstable” au lieu de “Wheezy (stable)”
Le moteur de recherche pour la BDD des packages de Debian encore utilisé se trouve à cette adresse, et la page à jour pour le module Perl NET::DNS est ici, dans le cas de ce module (ceci dit y a pas de différence de versions de ce module entre stable et oldstable)
En cas de besoin, c’est donc dans cette deuxième archive qu’il faut vérifier mais néanmoins, ce moteur de recherche CPAN ↔ Debian permet de dépanner, et je pense pas que les noms de packages changeront suffisamment souvent pour poser de problèmes
Installer le module avec le compte root ou avec sudo ?
La commande donnée par le moteur de recherche CPAN ↔ Debian pose elle aussi un petit problème, elle utilise sudo, qui dans Debian 7.x est désactivée par défaut, les utilisateurs crées dans ce systèmes ne font pas partie du groupe sudo
En attendant de rajouter, si vous le souhaitez vos utilisateurs au groupe sudo, il faut passer en root et utiliser la même commande sans sudo
$ su
PASSWORD
# apt-get install libnet-dns-perl
Pour ajouter un utilisateur au groupe sudo, passez en root et utilisez l’une des deux commandes suivantes
#useradd -G sudo username #
usermod -a -G sudo username
Attention :
– L’option -G doit être G (majuscule) pour ajouter l’utilisateur à un groupe secondaire/supplémentaire, -g (miniscule) changera le groupe primaire de l’utilisateur, c’est pas ce que nous voulons ici
– L’utilisateur doit se déconnecter (s’il est connecté) et se reconnecter pour la prise en compte des droits accordés par son nouveau groupe, il ne peut donc utiliser la commande sudo qu’à partir de la prochaine connexion
Pour vérifier les groupes auquel appartient un utilisateur, on utilisera la commande id et on obtiendra un listing des groupes auquel appartient “username” (à remplacer par un nom d’utilisateur existant sur votre machine bien sur)
$ id username