Quản trị viên Linux - Thiết lập Perl cho CentOS Linux

Perlđã có từ rất lâu. Ban đầu, nó được thiết kế như một ngôn ngữ báo cáo dùng để phân tích cú pháp các tệp văn bản. Với mức độ phổ biến ngày càng tăng, Perl đã thêm hỗ trợ mô-đun hoặc CPAN, ổ cắm, phân luồng và các tính năng khác cần thiết trong một ngôn ngữ kịch bản mạnh mẽ.

Ưu điểm lớn nhất của Perl so với PHP, Python hoặc Ruby là: nó hoàn thành công việc mà ít phiền phức nhất. Triết lý này của Perl không phải lúc nào cũng có nghĩa là nó sẽ hoàn thành công việc theo đúng cách. Tuy nhiên, đối với các tác vụ quản trị trên Linux, Perl được coi là sự lựa chọn hàng đầu cho một ngôn ngữ kịch bản.

Một số lợi thế của Perl so với Python hoặc Ruby là:

  • Xử lý văn bản mạnh mẽ

  • Perl làm cho việc viết các tập lệnh trở nên nhanh chóng và dễ hỏng (thường thì một tập lệnh Perl sẽ ngắn hơn vài chục dòng so với một đoạn mã tương đương trong Python hoặc Ruby)

  • Perl có thể làm bất cứ điều gì (gần như)

Một số hạn chế của Perl là -

  • Cú pháp có thể gây nhầm lẫn

  • Phong cách mã hóa trong Perl có thể là duy nhất và sự cộng tác sa lầy

  • Perl không thực sự hướng đối tượng

  • Thông thường, không có nhiều suy nghĩ về tiêu chuẩn hóa và phương pháp hay nhất khi Perl được sử dụng.

Khi quyết định sử dụng Perl, Python hay PHP; những câu hỏi sau nên được hỏi:

  • Ứng dụng này có bao giờ cần phiên bản không?
  • Có bao giờ người khác cần sửa đổi mã không?
  • Liệu những người khác có cần sử dụng ứng dụng này không?
  • Ứng dụng này có bao giờ được sử dụng trên máy hoặc kiến ​​trúc CPU khác không?

Nếu câu trả lời cho tất cả những điều trên là "không", thì Perl là một lựa chọn tốt và có thể đẩy nhanh tiến độ về mặt kết quả cuối cùng.

Với điều này đã đề cập, hãy cấu hình máy chủ CentOS của chúng tôi để sử dụng phiên bản Perl mới nhất.

Trước khi cài đặt Perl, chúng ta cần hiểu về sự hỗ trợ cho Perl. Chính thức, Perl chỉ được hỗ trợ trở lại như hai phiên bản ổn định cuối cùng. Vì vậy, chúng tôi muốn đảm bảo giữ cho môi trường phát triển của mình được cách ly với phiên bản CentOS.

Lý do của sự cô lập là: nếu ai đó phát hành một công cụ trong Perl cho cộng đồng CentOS, nhiều khả năng nó sẽ được sửa đổi để hoạt động trên Perl như được vận chuyển với CentOS. Tuy nhiên, chúng tôi cũng muốn cài đặt phiên bản mới nhất cho mục đích phát triển. Giống như Python, CentOS cung cấp Perl tập trung vào độ tin cậy và không vượt trội.

Hãy kiểm tra phiên bản Perl hiện tại của chúng tôi trên CentOS 7.

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

Chúng tôi hiện đang chạy Perl 5.16.3. Phiên bản mới nhất tính đến thời điểm viết bài này là: perl-5.24.0

Chúng tôi chắc chắn muốn nâng cấp phiên bản của mình, có thể sử dụng các mô-đun Perl cập nhật trong mã của chúng tôi. May mắn thay, có một công cụ tuyệt vời để duy trì môi trường Perl và giữ cho phiên bản CentOS của Perl bị cô lập. Nó được gọi làperlbrew.

Hãy cài đặt 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

Bây giờ chúng ta đã cài đặt Perl Brew, hãy tạo môi trường cho phiên bản mới nhất của Perl.

Đầu tiên, chúng ta sẽ cần phiên bản Perl hiện đã được cài đặt để khởi động quá trình cài đặt perlbrew. Vì vậy, hãy lấy một số mô-đun Perl cần thiết từ kho lưu trữ CentOS.

Note - Khi có sẵn, chúng tôi luôn muốn sử dụng mô-đun CentOS Perl so với CPAN với cài đặt CentOS Perl của chúng tôi.

Step 1 - Cài đặt mô-đun CentOS Perl Make :: Maker.

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

Step 2 - Cài đặt phiên bản mới nhất của perl.

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

Các tùy chọn chúng tôi đã chọn cho cài đặt Perl của chúng tôi là -

  • n - Không có bài kiểm tra

  • j4 - Thực hiện song song 4 luồng cho các quy trình cài đặt (chúng tôi đang sử dụng CPU quadcore)

  • threads - Bật hỗ trợ phân luồng cho Perl

Sau khi cài đặt của chúng tôi được thực hiện thành công, hãy chuyển sang môi trường Perl mới nhất của chúng tôi.

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

Phiên bản perl in script perl đơn giản chạy trong bối cảnh môi trường perlbrew của chúng tôi -

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

Sau khi perl được cài đặt, chúng tôi có thể tải các mô-đun cpan bằng cpanm của perl brew -

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

Bây giờ, hãy sử dụng trình cài đặt cpanm để tạo mô-đun LWP với phiên bản Perl 5.24.1 hiện tại của chúng tôi trong perl brew.

Step 1 - Chuyển sang ngữ cảnh của phiên bản Perl hiện tại của chúng tôi.

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

Một sub-shell được khởi chạy với perl-5.24.1 là perl được kích hoạt. Chạy 'exit' để hoàn thành nó.

[root@CentOS ~]#

Step 2 - Cài đặt LWP User Agent Perl Module.

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

Step 3 - Bây giờ hãy kiểm tra môi trường Perl của chúng ta với mô-đun CPAN mới.

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

Đây là bạn có nó! Perl Brew làm cho việc cô lập môi trường perl trở nên nhanh chóng và có thể được coi là phương pháp hay nhất khi mọi thứ trở nên tốt đẹp với Perl.