Linux Admin - Richten Sie Perl für CentOS Linux ein

Perlgibt es schon lange. Es wurde ursprünglich als Berichtssprache zum Parsen von Textdateien entwickelt. Mit zunehmender Beliebtheit hat Perl eine Modulunterstützung oder CPAN, Sockets, Threading und andere Funktionen hinzugefügt, die in einer leistungsstarken Skriptsprache benötigt werden.

Der größte Vorteil von Perl gegenüber PHP, Python oder Ruby ist: Es erledigt Dinge mit minimalem Aufwand. Diese Philosophie von Perl bedeutet nicht immer, dass die Dinge richtig gemacht werden. Für Verwaltungsaufgaben unter Linux wird Perl jedoch als erste Wahl für eine Skriptsprache angesehen.

Einige Vorteile von Perl gegenüber Python oder Ruby sind:

  • Leistungsstarke Textverarbeitung

  • Perl macht das Schreiben von Skripten schnell und schmutzig (normalerweise ist ein Perl-Skript mehrere Dutzend Zeilen kürzer als ein Äquivalent in Python oder Ruby).

  • Perl kann (fast) alles

Einige Nachteile von Perl sind -

  • Die Syntax kann verwirrend sein

  • Der Codierungsstil in Perl kann einzigartig sein und die Zusammenarbeit beeinträchtigen

  • Perl ist nicht wirklich objektorientiert

  • In der Regel wird bei der Verwendung von Perl nicht viel über Standardisierung und Best Practice nachgedacht.

Bei der Entscheidung, ob Perl, Python oder PHP verwendet werden soll; Die folgenden Fragen sollten gestellt werden:

  • Wird diese Anwendung jemals eine Versionierung benötigen?
  • Müssen andere Personen jemals den Code ändern?
  • Müssen andere Personen diese Anwendung verwenden?
  • Wird diese Anwendung jemals auf einem anderen Computer oder einer anderen CPU-Architektur verwendet?

Wenn die Antworten auf alle oben genannten Fragen "Nein" lauten, ist Perl eine gute Wahl und kann die Endergebnisse beschleunigen.

Nachdem dies erwähnt wurde, konfigurieren wir unseren CentOS-Server so, dass er die neueste Version von Perl verwendet.

Vor der Installation von Perl müssen wir die Unterstützung für Perl verstehen. Offiziell wird Perl erst in den letzten beiden stabilen Versionen unterstützt. Daher möchten wir sicherstellen, dass unsere Entwicklungsumgebung von der CentOS-Version isoliert bleibt.

Der Grund für die Isolation ist: Wenn jemand ein Tool in Perl für die CentOS-Community freigibt, wird es höchstwahrscheinlich so geändert, dass es mit Perl funktioniert, wie es mit CentOS geliefert wird. Wir möchten jedoch auch, dass die neueste Version für Entwicklungszwecke installiert wird. Wie Python konzentriert sich CentOS auf Perl, das sich auf Zuverlässigkeit und nicht auf den neuesten Stand konzentriert.

Lassen Sie uns unsere aktuelle Version von Perl unter CentOS 7 überprüfen.

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

Wir führen derzeit Perl 5.16.3 aus. Die aktuellste Version zum Zeitpunkt dieses Schreibens ist: perl-5.24.0

Wir möchten auf jeden Fall unsere Version aktualisieren, um aktuelle Perl-Module in unserem Code verwenden zu können. Glücklicherweise gibt es ein großartiges Tool, um Perl-Umgebungen zu warten und unsere CentOS-Version von Perl isoliert zu halten. Es wird genanntperlbrew.

Lassen Sie uns Perl Brew installieren.

[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

Nachdem wir Perl Brew installiert haben, erstellen wir eine Umgebung für die neueste Version von Perl.

Zunächst benötigen wir die aktuell installierte Version von Perl, um die Perlbrew-Installation zu booten. Holen wir uns daher einige benötigte Perl-Module aus dem CentOS-Repository.

Note - Wenn verfügbar, möchten wir bei unserer CentOS Perl-Installation immer CentOS Perl-Module im Vergleich zu CPAN verwenden.

Step 1 - Installieren Sie das CentOS Perl Make :: Maker-Modul.

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

Step 2 - Installieren Sie die neueste Version von Perl.

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

Die Optionen, die wir für unsere Perl-Installation ausgewählt haben, sind:

  • n - Keine Tests

  • j4 - Führen Sie 4 Threads parallel für die Installationsroutinen aus (wir verwenden eine Quadcore-CPU).

  • threads - Aktivieren Sie die Threading-Unterstützung für Perl

Nachdem unsere Installation erfolgreich durchgeführt wurde, wechseln wir zu unserer neuesten Perl-Umgebung.

[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]#

Einfache Perl-Skriptdruck-Perl-Version, die im Kontext unserer Perlbrew-Umgebung ausgeführt wird -

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

Sobald Perl installiert ist, können wir Cpan-Module mit Perl Brews Cpanm laden -

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

Verwenden wir nun das cpanm- Installationsprogramm, um das LWP-Modul mit unserer aktuellen Perl-Version von 5.24.1 in Perl Brew zu erstellen.

Step 1 - Wechseln Sie in den Kontext unserer aktuellen Perl-Version.

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

Eine Unter-Shell wird mit Perl-5.24.1 als aktiviertem Perl gestartet. Führen Sie 'exit' aus, um es zu beenden.

[root@CentOS ~]#

Step 2 - Installieren Sie das LWP User Agent Perl-Modul.

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

Step 3 - Testen wir nun unsere Perl-Umgebung mit dem neuen CPAN-Modul.

[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 ~]#

Hier hast du es! Perl Brew macht das Isolieren von Perl-Umgebungen zum Kinderspiel und kann als Best Practice angesehen werden, wie es mit Perl möglich ist.