Administrateur Linux - Configurer Perl pour CentOS Linux

Perlexiste depuis longtemps. Il a été initialement conçu comme un langage de rapport utilisé pour analyser les fichiers texte. Avec une popularité croissante, Perl a ajouté un support de module ou CPAN, des sockets, des threads et d'autres fonctionnalités nécessaires dans un puissant langage de script.

Le plus grand avantage de Perl par rapport à PHP, Python ou Ruby est qu'il permet de faire les choses avec un minimum de tracas. Cette philosophie de Perl ne signifie pas toujours qu'il fait les choses de la bonne manière. Cependant, pour les tâches d'administration sous Linux, Perl est considéré comme le choix incontournable pour un langage de script.

Certains avantages de Perl par rapport à Python ou Ruby sont -

  • Traitement de texte puissant

  • Perl rend l'écriture de scripts rapide et sale (généralement un script Perl sera plus court de plusieurs dizaines de lignes qu'un équivalent en Python ou Ruby)

  • Perl peut tout faire (presque)

Certains inconvénients de Perl sont -

  • La syntaxe peut prêter à confusion

  • Le style de codage en Perl peut être unique et ralentir la collaboration

  • Perl n'est pas vraiment orienté objet

  • En règle générale, il n'y a pas beaucoup de réflexion sur la normalisation et les meilleures pratiques lorsque Perl est utilisé.

Au moment de décider d'utiliser Perl, Python ou PHP; les questions suivantes doivent être posées -

  • Cette application aura-t-elle jamais besoin d'un contrôle de version?
  • D'autres personnes devront-elles un jour modifier le code?
  • D'autres personnes auront-elles besoin d'utiliser cette application?
  • Cette application sera-t-elle jamais utilisée sur une autre machine ou une autre architecture CPU?

Si les réponses à tout ce qui précède sont «non», Perl est un bon choix et peut accélérer les choses en termes de résultats finaux.

Ceci étant mentionné, configurons notre serveur CentOS pour utiliser la version la plus récente de Perl.

Avant d'installer Perl, nous devons comprendre le support de Perl. Officiellement, Perl n'est supporté que depuis les deux dernières versions stables. Nous voulons donc être sûrs de garder notre environnement de développement isolé de la version CentOS.

La raison de l'isolement est la suivante: si quelqu'un publie un outil en Perl à la communauté CentOS, il sera probablement modifié pour fonctionner sur Perl comme livré avec CentOS. Cependant, nous souhaitons également installer la dernière version à des fins de développement. Comme Python, CentOS fournit Perl axé sur la fiabilité et non sur la pointe.

Vérifions notre version actuelle de Perl sur CentOS 7.

[root@CentOS]# perl -v 
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi

Nous utilisons actuellement Perl 5.16.3. La version la plus récente à ce jour est: perl-5.24.0

Nous voulons absolument mettre à jour notre version, pouvoir utiliser des modules Perl à jour dans notre code. Heureusement, il existe un excellent outil pour maintenir les environnements Perl et garder notre version CentOS de Perl isolée. On l'appelleperlbrew.

Installons Perl Brew.

[root@CentOS]# curl -L https://install.perlbrew.pl | bash 
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
                             Dload  Upload   Total   Spent    Left  Speed 
100   170  100   170    0     0    396      0 --:--:-- --:--:-- --:--:--   397 
100  1247  100  1247    0     0   1929      0 --:--:-- --:--:-- --:--:--  1929

Maintenant que Perl Brew est installé, créons un environnement pour la dernière version de Perl.

Tout d'abord, nous aurons besoin de la version actuellement installée de Perl pour démarrer l'installation de perlbrew. Ainsi, récupérons quelques modules Perl nécessaires dans le référentiel CentOS.

Note - Lorsqu'ils sont disponibles, nous voulons toujours utiliser les modules CentOS Perl plutôt que CPAN avec notre installation CentOS Perl.

Step 1 - Installez le module CentOS Perl Make :: Maker.

[root@CentOS]# yum -y install perl-ExtUtils-MakeMaker.noarch

Step 2 - Installez la dernière version de perl.

[root@CentOS build]# source ~/perl5/perlbrew/etc/bashrc
[root@CentOS build]# perlbrew install -n -j4 --threads perl-5.24.1

Les options que nous avons choisies pour notre installation Perl sont -

  • n - Aucun test

  • j4 - Exécuter 4 threads en parallèle pour les routines d'installation (nous utilisons un processeur quadcore)

  • threads - Activer le support de thread pour Perl

Une fois que notre installation a été effectuée avec succès, passons à notre dernier environnement Perl.

[root@CentOS]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1

A sub-shell is launched with perl-5.24.1 as the activated perl. Run 'exit' to finish it.

[root@CentOS]# perl -v

This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linuxthread-multi

(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2017, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the GNU General
Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on this system 
using "man perl" or "perldoc perl".  If you have access to the Internet, point your 
browser at http://www.perl.org/, the Perl Home Page.

[root@CentOS]#

Impression de script perl simple version perl exécutée dans le contexte de notre environnement perlbrew -

[root@CentOS]# cat ./ver.pl  
#!/usr/bin/perl
print $^V . "\n";
[root@CentOS]# perl ./ver.pl  
v5.24.1 
[root@CentOS]#

Une fois perl installé, nous pouvons charger des modules cpan avec le cpanm de perl brew -

[root@CentOS]# perl-brew install-cpanm

Maintenant , nous allons utiliser le cpanm installateur pour rendre le module LWP avec notre version actuelle de Perl 5.24.1 dans brew perl.

Step 1 - Basculez vers le contexte de notre version actuelle de Perl.

[root@CentOS ~]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1

Un sous-shell est lancé avec perl-5.24.1 comme perl activé. Exécutez «exit» pour le terminer.

[root@CentOS ~]#

Step 2 - Installez le module Perl de l'agent utilisateur LWP.

[root@CentOS ~]# ~/perl5/perlbrew/bin/cpanm -i LWP::UserAgent

Step 3 - Testons maintenant notre environnement Perl avec le nouveau module CPAN.

[root@CentOS ~]# cat ./get_header.pl  
#!/usr/bin/perl 
use LWP; 
my $browser = LWP::UserAgent->new(); 
my $response = $browser->get("http://www.slcc.edu/"); 
unless(!$response->is_success) { 
   print $response->header("Server"); 
}

[root@CentOS ~]# perl ./get_header.pl  
Microsoft-IIS/8.5 [root@CentOS ~]#

Voilà! Perl Brew rend l'isolement des environnements Perl un jeu d'enfant et peut être considéré comme une meilleure pratique au fur et à mesure que les choses se passent avec Perl.