Administrator systemu Linux - skonfiguruj Perl dla CentOS Linux
Perlistnieje od dawna. Pierwotnie został zaprojektowany jako język raportowania używany do analizowania plików tekstowych. Wraz ze wzrostem popularności Perl dodał obsługę modułów lub CPAN, gniazda, wątki i inne funkcje potrzebne w potężnym języku skryptowym.
Największą przewagą Perla w porównaniu z PHP, Pythonem czy Rubim jest to, że wykonuje zadania przy minimalnym zamieszaniu. Ta filozofia Perla nie zawsze oznacza, że wszystko robi się we właściwy sposób. Jednak w przypadku zadań administracyjnych w systemie Linux Perl jest uważany za najlepszy wybór dla języka skryptowego.
Niektóre zalety Perla w porównaniu z Pythonem lub Rubim to -
Potężne przetwarzanie tekstu
Perl sprawia, że pisanie skryptów jest szybkie i brudne (zwykle skrypt Perla będzie o kilkadziesiąt linii krótszy niż jego odpowiednik w Pythonie lub Ruby)
Perl może zrobić wszystko (prawie)
Niektóre wady Perla to -
Składnia może być myląca
Styl kodowania w Perlu może być wyjątkowy i utrudniać współpracę
Perl nie jest tak naprawdę zorientowany obiektowo
Zazwyczaj, gdy używany jest Perl, nie poświęca się zbyt wiele uwagi standaryzacji i najlepszych praktykach.
Decydując się na użycie Perla, Pythona lub PHP; należy zadać następujące pytania -
- Czy ta aplikacja będzie kiedykolwiek potrzebować wersjonowania?
- Czy inne osoby będą kiedykolwiek musiały modyfikować kod?
- Czy inne osoby będą musiały używać tej aplikacji?
- Czy ta aplikacja będzie kiedykolwiek używana na innym komputerze lub architekturze procesora?
Jeśli odpowiedzi na wszystkie powyższe pytania brzmią „nie”, Perl jest dobrym wyborem i może przyspieszyć działanie pod względem wyników końcowych.
Mając to na uwadze, skonfigurujmy nasz serwer CentOS do korzystania z najnowszej wersji Perla.
Przed zainstalowaniem Perla musimy zapoznać się z obsługą Perla. Oficjalnie Perl jest obsługiwany tylko w ostatnich dwóch stabilnych wersjach. Dlatego chcemy mieć pewność, że nasze środowisko programistyczne będzie izolowane od wersji CentOS.
Powód izolacji jest następujący: jeśli ktoś udostępni społeczności CentOS narzędzie w Perlu, najprawdopodobniej zostanie ono zmodyfikowane do pracy na Perlu dostarczonym z CentOS. Chcemy jednak mieć również zainstalowaną najnowszą wersję do celów programistycznych. Podobnie jak Python, CentOS dostarcza Perla skoncentrowanego na niezawodności, a nie na nowatorskich rozwiązaniach.
Sprawdźmy naszą aktualną wersję Perla na CentOS 7.
[root@CentOS]# perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
Obecnie korzystamy z Perla 5.16.3. Najbardziej aktualna wersja w chwili pisania tego tekstu to: perl-5.24.0
Zdecydowanie chcemy zaktualizować naszą wersję, mając możliwość korzystania z aktualnych modułów Perla w naszym kodzie. Na szczęście istnieje świetne narzędzie do utrzymywania środowisk Perl i izolowania naszej wersji Perla z CentOS. To się nazywaperlbrew.
Zainstalujmy 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
Teraz, gdy mamy już zainstalowany Perl Brew, stwórzmy środowisko dla najnowszej wersji Perla.
Po pierwsze, będziemy potrzebować aktualnie zainstalowanej wersji Perla, aby załadować instalację perlbrew. Zatem pobierzmy kilka potrzebnych modułów Perla z repozytorium CentOS.
Note - Jeśli są dostępne, zawsze chcemy używać modułów CentOS Perl w porównaniu z CPAN z naszą instalacją CentOS Perl.
Step 1 - Zainstaluj moduł CentOS Perl Make :: Maker.
[root@CentOS]# yum -y install perl-ExtUtils-MakeMaker.noarch
Step 2 - Zainstaluj najnowszą wersję perla.
[root@CentOS build]# source ~/perl5/perlbrew/etc/bashrc
[root@CentOS build]# perlbrew install -n -j4 --threads perl-5.24.1
Opcje, które wybraliśmy dla naszej instalacji Perla to -
n - Żadnych testów
j4 - Wykonaj 4 wątki równolegle dla procedur instalacyjnych (używamy czterordzeniowego procesora)
threads - Włącz obsługę wątków dla Perla
Po pomyślnym zakończeniu instalacji przejdźmy do naszego najnowszego środowiska 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]#
Prosty wydruk skryptów Perla Wersja Perla działająca w kontekście naszego środowiska Perlbrew -
[root@CentOS]# cat ./ver.pl
#!/usr/bin/perl
print $^V . "\n";
[root@CentOS]# perl ./ver.pl
v5.24.1
[root@CentOS]#
Po zainstalowaniu Perla możemy załadować moduły cpan za pomocą cpanm Perl Brew -
[root@CentOS]# perl-brew install-cpanm
Teraz użyjmy instalatora cpanm, aby stworzyć moduł LWP z naszą obecną wersją Perla 5.24.1 w perl brew.
Step 1 - Przejdź do kontekstu naszej aktualnej wersji Perla.
[root@CentOS ~]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1
Podpowłoka jest uruchamiana z perl-5.24.1 jako aktywowanym perlem. Uruchom „exit”, aby go zakończyć.
[root@CentOS ~]#
Step 2 - Zainstaluj moduł Perl agenta użytkownika LWP.
[root@CentOS ~]# ~/perl5/perlbrew/bin/cpanm -i LWP::UserAgent
Step 3 - Przetestujmy teraz nasze środowisko Perl z nowym modułem 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 ~]#
Masz to! Perl Brew sprawia, że izolowanie środowisk perlowych jest bardzo proste i może być uważane za najlepszą praktykę, jeśli chodzi o Perl.