Linux Yöneticisi - CentOS Linux için Perl Kurulumu

Perluzun zamandır buralarda. Başlangıçta metin dosyalarını ayrıştırmak için kullanılan bir raporlama dili olarak tasarlanmıştır. Artan popülerlikle Perl, güçlü bir betik dili için bir modül desteği veya CPAN, soketler, iş parçacığı ve diğer özellikler ekledi.

Perl'in PHP, Python veya Ruby'ye göre en büyük avantajı şudur: İşleri minimum telaşla yapar. Perl'in bu felsefesi her zaman işlerin doğru şekilde yapıldığı anlamına gelmez. Bununla birlikte, Linux'taki yönetim görevleri için Perl, bir betik dili için tercih edilen seçenek olarak kabul edilir.

Perl'in Python veya Ruby'ye göre bazı avantajları şunlardır:

  • Güçlü metin işleme

  • Perl komut dosyalarını hızlı ve kirli hale getirir (genellikle bir Perl betiği Python veya Ruby'deki eşdeğerden birkaç düzine satır daha kısadır)

  • Perl her şeyi yapabilir (neredeyse)

Perl'in bazı dezavantajları:

  • Sözdizimi kafa karıştırıcı olabilir

  • Perl'de kodlama stili benzersiz olabilir ve işbirliğini engelleyebilir

  • Perl gerçekten Nesne Yönelimli değil

  • Tipik olarak, Perl kullanıldığında standardizasyon ve en iyi uygulama üzerine çok fazla düşünce yoktur.

Perl, Python veya PHP kullanıp kullanmayacağınıza karar verirken; aşağıdaki sorular sorulmalıdır -

  • Bu uygulamanın versiyonlamaya ihtiyacı olacak mı?
  • Başkalarının kodu değiştirmesi gerekecek mi?
  • Başkalarının bu uygulamayı kullanması gerekecek mi?
  • Bu uygulama başka bir makinede veya CPU mimarisinde kullanılacak mı?

Yukarıdakilerin hepsine verilen cevaplar "hayır" ise, Perl iyi bir seçimdir ve nihai sonuçlar açısından işleri hızlandırabilir.

Bununla birlikte, CentOS sunucumuzu Perl'in en son sürümünü kullanacak şekilde yapılandıralım.

Perl'i kurmadan önce Perl desteğini anlamamız gerekiyor. Resmi olarak, Perl yalnızca son iki kararlı sürümden beri desteklenmektedir. Bu nedenle, geliştirme ortamımızı CentOS sürümünden izole ettiğimizden emin olmak istiyoruz.

İzolasyonun nedeni şudur: birisi Perl'de bir aracı CentOS topluluğuna yayınlarsa, CentOS ile birlikte gönderilen Perl üzerinde çalışacak şekilde büyük olasılıkla değiştirilecektir. Ancak, geliştirme amacıyla en son sürümün de yüklenmesini istiyoruz. Python gibi, CentOS da Perl'i gönderir ve üstün değil güvenilirliğe odaklanır.

CentOS 7'deki mevcut Perl sürümümüzü kontrol edelim.

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

Şu anda Perl 5.16.3'ü çalıştırıyoruz. Bu yazı itibariyle en güncel sürüm: perl-5.24.0

Kodumuzda güncel Perl modüllerini kullanabilmek için kesinlikle sürümümüzü yükseltmek istiyoruz. Neyse ki, Perl ortamlarını korumak ve Perl'in CentOS sürümümüzü izole tutmak için harika bir araç var. Denirperlbrew.

Perl Brew kuralım.

[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

Artık Perl Brew kurulduğuna göre, Perl'in en son sürümü için bir ortam oluşturalım.

İlk olarak, perlbrew kurulumunu başlatmak için şu anda kurulu olan Perl sürümüne ihtiyacımız olacak. Böylece CentOS deposundan bazı gerekli Perl modüllerini alalım.

Note - Mümkün olduğunda, CentOS Perl kurulumumuzda her zaman CPAN yerine CentOS Perl modüllerini kullanmak istiyoruz.

Step 1 - CentOS Perl Make :: Maker modülünü kurun.

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

Step 2 - Perl'nin en son sürümünü yükleyin.

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

Perl kurulumumuz için seçtiğimiz seçenekler:

  • n - Test yok

  • j4 - Kurulum rutinleri için paralel olarak 4 iş parçacığı yürütün (bir dört çekirdekli CPU kullanıyoruz)

  • threads - Perl için iş parçacığı desteğini etkinleştirin

Kurulumumuz başarıyla gerçekleştirildikten sonra en yeni Perl ortamımıza geçelim.

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

Perlbrew ortamımız bağlamında çalışan basit perl komut dosyası yazdırma perl sürümü -

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

Perl kurulduktan sonra, perl brew cpanm ile cpan modüllerini yükleyebiliriz -

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

Şimdi , perl brew'de mevcut Perl sürüm 5.24.1 ile LWP modülünü yapmak için cpanm yükleyicisini kullanalım.

Step 1 - Mevcut Perl sürümümüzün bağlamına geçin.

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

Etkinleştirilmiş perl olarak perl-5.24.1 ile bir alt kabuk başlatılır. Bitirmek için 'çıkış'ı çalıştırın.

[root@CentOS ~]#

Step 2 - LWP User Agent Perl Module'ü kurun.

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

Step 3 - Şimdi Perl ortamımızı yeni CPAN modülü ile test edelim.

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

İşte aldın! Perl Brew, perl ortamlarının izole edilmesini kolaylaştırır ve Perl ile işler geliştikçe en iyi uygulama olarak düşünülebilir.