Esta breve guía explica cómo instalar módulos Perl en Linux desde CPAN (C integral P Erl A archivo N red) repositorio. Al momento de escribir esta guía, hay 185,128 módulos Perl disponible en CPAN. Muchos programas escritos en el lenguaje de programación Perl dependen de ciertos módulos de Perl para realizar una tarea específica. Por ejemplo, el otro día estaba probando Sysadmin-util que proporciona una colección de herramientas útiles para administradores de sistemas Linux/Unix . Cuando pruebo una herramienta específica llamada multi-ping , me encontré con el siguiente error:
$ ./multi-ping google.com The required Net::DNS module is missing. Aborting.
En tales casos, necesita encontrar e instalar el módulo perl faltante para usar ese programa.
Instalar módulos Perl en Linux
Hay muchas herramientas disponibles para instalar y módulos de Perl. Vamos a probar dos herramientas, a saber, cpan y cpanm . Vale la pena mencionar que muchos módulos en CPAN requieren la versión reciente de Perl versión 5.8 o superior.
Asegúrese de haber instalado 'make' paquete en su distribución de Linux. 'make' es una herramienta esencial para crear módulos perl.
Si no instala 'make', es posible que encuentre un error como el siguiente:
Can't configure the distribution. You probably need to have 'make'.
El paquete 'make' está disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux.
Para instalar 'make' en Arch Linux y sus variantes, ejecuta:
$ sudo pacman -S make
En Debian , Ubuntu , Linux Mint :
$ sudo apt install make
En Fedora :
$ sudo dnf install make
En RHEL , Cent OS :
$ sudo yum install make
En SUSE/openSUSE :
$ sudo zypper install make
Prosigamos e instalemos los módulos perl.
Instalar módulos Perl usando cpan
cpan es un cliente de línea de comandos para el repositorio de CPAN y se distribuye con todas las ediciones de Perl de forma predeterminada.
Para instalar un módulo Perl, por ejemplo Net::DNS , ingrese en cpan shell usando el comando:
$ sudo cpan
Y escriba el siguiente comando desde el indicador de cpan para instalar el módulo:
install Net::DNS
Una vez instalado el módulo, escriba 'salir' para volver a tu caparazón.
También puede instalar el módulo directamente desde la Terminal usando el comando:
$ sudo cpan Net::DNS
Instalar módulos Perl usando Cpanminus
Cpanminus o cpanm es un cliente de cpan para obtener, desempaquetar, construir e instalar módulos desde el repositorio de CPAN. Es un script independiente y sin dependencias que no requiere configuración. Muchos desarrolladores de Perl experimentados prefieren cpanm a cpan.
cpanminus se puede instalar de muchas maneras.
Para instalar la última versión de cpanm en su sistema Linux, simplemente ejecute:
$ curl -L https://cpanmin.us | perl - --sudo App::cpanminus
Este comando instalará cpanm en todo el sistema e instalará cpanm binario en su directorio bin como /usr/local/bin .
cpanm también está disponible en los repositorios predeterminados de varias distribuciones de Linux. Es una versión estable, pero un poco antigua.
Para instalar cpanminus en Arch Linux y sus variantes, ejecute:
$ sudo pacman -S cpanminus
En Debian, Ubuntu, Linux Mint:
$ sudo apt install cpanminus
En CentOS:
$ sudo yum install perl-App-cpanminus
Alternativamente, puede descargar manualmente el último binario de cpanm y ponerlo en su $PATH como se muestra a continuación.
$ curl -L https://cpanmin.us/ -o cpanm
$ chmod +x cpanm
$ sudo mv cpanm /usr/local/bin/cpanm
Después de instalar cpanm, puede instalar cualquier módulo de Perl, por ejemplo Net::DNS, ejecutando el siguiente comando desde su Terminal:
$ sudo cpanm Net::DNS
Salida de muestra:
--> Working on Net::DNS Fetching http://www.cpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-1.21.tar.gz ... OK Configuring Net-DNS-1.21 ... OK ==> Found dependencies: Digest::HMAC --> Working on Digest::HMAC Fetching http://www.cpan.org/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz ... OK Configuring Digest-HMAC-1.03 ... OK Building and testing Digest-HMAC-1.03 ... OK Successfully installed Digest-HMAC-1.03 Building and testing Net-DNS-1.21 ... OK Successfully installed Net-DNS-1.21 2 distributions installed
Instalar los módulos de Perl que faltan usando el administrador de paquetes de distribución
Muchos módulos de Perl están disponibles como paquetes, por lo que puede instalarlos usando el administrador de paquetes de su distribución.
En Debian, Ubuntu:
$ apt-cache search 'perl$' | grep Net::DNS
Salida:
libnet-dns-zonefile-fast-perl - fast BIND-style zonefile parser on top of Net::DNS
Como puede ver, el módulo Net::DS lo proporciona "libnet-dns-zonefile-fast-perl", así que vamos a instalarlo usando el comando:
$ sudo apt install libnet-dns-zonefile-fast-perl
Para encontrar el módulo que falta en Arch Linux, ejecute:
$ pacman -Ss '^perl-' | grep Net::DNS
E instale el módulo que falta usando el comando 'pacman'.
Lista de módulos Perl instalados
Para listar los módulos Perl instalados, use el comando 'perldoc':
$ perldoc perllocal
Salida de muestra:
Thu Jan 30 10:45:11 2020: "Module" Digest::HMAC * "installed into: /usr/local/share/perl/5.26.1" * "LINKTYPE: dynamic" * "VERSION: 1.03" * "EXE_FILES: " Thu Jan 30 10:47:41 2020: "Module" Net::DNS * "installed into: /usr/local/share/perl/5.26.1" * "LINKTYPE: dynamic" * "VERSION: 1.21" * "EXE_FILES: " Thu Jan 30 10:48:54 2020: "Module" Digest::BubbleBabble * "installed into: /usr/local/share/perl/5.26.1" * "LINKTYPE: dynamic" * "VERSION: 0.02" * "EXE_FILES: "
Otra forma de listar los módulos Perl instalados es usar el comando 'instmodsh' como se muestra a continuación.
$ instmodsh
Verá el siguiente resultado:
Available commands are: l - List all installed modules m <module> - Select a module q - Quit the program cmd?
En cmd indicador, escriba 'l' para enumerar los módulos.
Installed modules are: App::cpanminus Digest::BubbleBabble Digest::HMAC Module::Build Net::DNS Perl cmd?
Tenga en cuenta que los dos comandos anteriores enumerarán los módulos instalados con cpan. Puede haber muchos módulos instalados manualmente o preinstalados con su distribución de Linux.
Para encontrar todos los módulos Perl instalados, ejecute:
$ cpan -l
O,
$ cpan -a
Desinstalar módulos de Perl
Los módulos de Perl se pueden eliminar fácilmente usando cpanm usando el comando:
$ sudo cpanm --uninstall Net::DNS
Escriba y y presione ENTER para eliminar el módulo largo con todos los archivos de configuración.
Net::DNS contains the following files: /usr/local/man/man3/Net::DNS.3pm /usr/local/man/man3/Net::DNS::Domain.3pm /usr/local/man/man3/Net::DNS::DomainName.3pm [...] /usr/local/share/perl/5.26.1/Net/DNS/Text.pm /usr/local/share/perl/5.26.1/Net/DNS/Update.pm /usr/local/share/perl/5.26.1/Net/DNS/ZoneFile.pm Are you sure you want to uninstall Net::DNS? [y] y
Espero que esto ayude.