^ Linux From Scratch - Version 12.1-systemd ^^^
^ Chapter 8. Installing Basic System Software ^^^
|[[.:111-less-643|이전]] | [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]] | [[.:113-xml-parser-2.47|다음]]|
|Less-643 | XML::Parser-2.47|
----
===== 8.42. Perl-5.38.2 =====
Perl 패키지에는 Practical Extraction and Report Language(실용적인 추출 및 보고서 언어)가 포함되어 있습니다.
* **빌드 시간:** 1.5 SBU
* **디스크 공간:** 239 MB
-----
==== 8.42.1. Perl 설치 ====
이 버전의 Perl은 Compress::Raw::Zlib 및 Compress::Raw::BZip2 모듈을 빌드합니다. 기본적으로 Perl은 빌드에 소스의 내부에 포함된 라이브러리 사본을 사용합니다. Perl이 시스템에 설치된 라이브러리를 사용하도록 다음과 같이 실행하세요.
export BUILD_ZLIB=False
export BUILD_BZIP2=0
Perl이 설정되는 방식을 제어하려면 다음 명령에서 "-des" 옵션을 제거하고 이 패키지가 빌드되는 방식을 직접 선택할 수 있습니다. 또는 아래 명령어를 그대로 사용하여 Perl이 자동으로 감지하는 기본값을 사용할 수도 있습니다.
sh Configure -des \
-Dprefix=/usr \
-Dvendorprefix=/usr \
-Dprivlib=/usr/lib/perl5/5.38/core_perl \
-Darchlib=/usr/lib/perl5/5.38/core_perl \
-Dsitelib=/usr/lib/perl5/5.38/site_perl \
-Dsitearch=/usr/lib/perl5/5.38/site_perl \
-Dvendorlib=/usr/lib/perl5/5.38/vendor_perl \
-Dvendorarch=/usr/lib/perl5/5.38/vendor_perl \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dpager="/usr/bin/less -isR" \
-Duseshrplib \
-Dusethreads
=== configure 옵션 설명 ===
* //-Dpager="/usr/bin/less -isR"// \\ **more** 대신 **less**를 사용됩니다.
* //-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3// \\ Groff가 아직 설치되지 않았으므로 구성은 Perl에 대한 man 페이지를 만들지 않습니다. 이 매개변수는 이 동작을 재정의합니다.
* //-Dusethreads// \\ 스레드를 지원하는 Perl을 빌드합니다.
패키지를 컴파일합니다.
make
결과를 테스트(약 11 SBU)하려면 다음과 같이 실행합니다.
TEST_JOBS=$(nproc) make test_harness
패키지를 설치하고 정리합니다.
make install
unset BUILD_ZLIB BUILD_BZIP2
----
==== 8.42.2. Perl 패키지 구성 ====
* **설치된 프로그램:** \\ corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh, json_pp, libnetcfg, perl, perl5.38.2(perl에 대한 하드 링크), perlbug, perldoc, perlivp, perlthanks(perlbug에 대한 하드 링크), piconv, pl2pm, pod2html, pod2man, pod2text, pod2usage, podchecker, podselect, prove, ptar, ptardiff, ptargrep, shasum, splain, xsubpp 및 zipdetails.
* **설치된 라이브러리:** \\ 여기에 모두 나열할 수 없는 많은 라이브러리
* **설치된 디렉토리:** \\ /usr/lib/perl5
=== 간략한 설명===
* **corelist** \\ Module::CoreList에 대한 명령줄 프런트엔드
* **cpan** \\ 명령줄에서 CPAN(Comprehensive Perl Archive Network)과 상호 작용합니다.
* **enc2xs** \\ 유니코드 문자 매핑 또는 Tcl 인코딩 파일에서 인코딩 모듈을 위한 Perl 확장을 빌드합니다.
* **encguess** \\ 하나 또는 여러 파일의 인코딩 유형을 추측합니다.
* **h2ph** \\ ''.h'' C 헤더 파일을 ''.ph'' Perl 헤더 파일로 변환합니다.
* **h2xs** \\ ''.h'' C 헤더 파일을 Perl 확장자로 변환합니다.
* **instmodsh** \\ 설치된 Perl 모듈을 검사하기 위한 셸 스크립트로, 설치된 모듈에서 타르볼을 생성할 수 있습니다.
* **json_pp** \\ 특정 입력 및 출력 형식 간에 데이터를 변환합니다.
* **libnetcfg** \\ ''libnet'' Perl 모듈을 구성하는 데 사용할 수 있습니다.
* **perl** \\ C, **sed**, **awk**, **sh**의 최고의 기능을 스위스 군용칼처럼 하나의 언어로 결합했습니다.
* **perl5.38.2** \\ **perl**에 대한 하드 링크
* **perlbug** \\ Perl 또는 함께 제공되는 모듈에 대한 버그 보고서를 생성하고 메일로 보내는 데 사용됩니다.
* **perldoc** \\ Perl 설치 트리 또는 Perl 스크립트에 포함된 pod 형식의 문서를 표시합니다.
* **perlivp** \\ Perl 설치 확인 절차; Perl과 해당 라이브러리가 올바르게 설치되었는지 확인하는 데 사용할 수 있습니다.
* **perlthanks** \\ Perl 개발자에게 메일로 보낼 감사 메시지를 생성하는 데 사용됩니다.
* **piconv** \\ 문자 인코딩 변환기 **iconv**의 Perl 버전
* **pl2pm** \\ Perl4 .pl 파일을 Perl5 .pm 모듈로 변환하기 위한 포괄적인 도구입니다.
* **pod2html** \\ pod 형식에서 HTML 형식으로 변환합니다.
* **pod2man** \\ pod 데이터를 형식화된 *roff 입력으로 변환합니다.
* **pod2text** \\ pod 데이터를 형식이 지정된 ascii 텍스트로 변환한다.
* **pod2usage** \\ embedded pod 문서의 사용 메시지를 파일로 출력한다.
* **podchecker** \\ ped 포맷 문서 파일의 구문을 확인한다.
* **podselect** \\ pod 문서의 선택된 섹션을 표시한다.
* **prove** \\ Test::Harness 모듈에 대한 테스트를 실행하기 위한 명령줄 도구
* **ptar** \\ Perl로 작성된 타르와 유사한 프로그램
* **ptardiff** \\ 압축을 푼 아카이브와 압축을 풀지 않은 아카이브를 비교하는 Perl 프로그램
* **ptargrep** \\ 타르 아카이브의 파일 내용에 패턴 매칭을 적용하는 Perl 프로그램
* **shasum** \\ SHA 체크섬을 인쇄하거나 확인합니다.
* **splain** \\ Perl에서 자세한 경고 진단을 강제하는 데 사용됩니다.
* **xsubpp** \\ Perl XS 코드를 C 코드로 변환합니다.
* **zipdetails** \\ Zip 파일의 내부 구조에 대한 세부 정보를 표시합니다.