linuxfromscratch:12.1:105-bash-5.2.21

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
linuxfromscratch:12.1:105-bash-5.2.21 [2024/05/18 16:47] – 만듦 - 바깥 편집 127.0.0.1linuxfromscratch:12.1:105-bash-5.2.21 [2024/06/15 11:52] (현재) – [8.35.2. Bash 패키지 구성] baecy
줄 1: 줄 1:
 +^  Linux From Scratch - Version 12.1-systemd  ^^^
 +^  Chapter 8. Installing Basic System Software  ^^^
 +|[[.:104-grep-3.11|이전]]  |  [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]]  |  [[.:106-libtool-2.4.7|다음]]|
 +
 +|Grep-3.11  |  Libtool-2.4.7|
 +
 +----
 +
 +===== 8.35. Bash-5.2.21 =====
 +Bash 패키지에는 Bourne-Again Shell이 포함되어 있습니다.
 +
 +  * **빌드 시간:** 1.2 SBU 
 +  * **디스크 공간:** 52 MB
 +
 +----
 +
 +==== 8.35.1. Bash 설치 ====
 +
 +먼저 업스트림에서 확인된 몇 가지 문제를 해결합니다.
 +
 +<code bash>
 +patch -Np1 -i ../bash-5.2.21-upstream_fixes-1.patch
 +</code>
 +
 +Bash 컴파일을 준비합니다.
 +
 +<code bash>
 +./configure --prefix=/usr             \
 +            --without-bash-malloc     \
 +            --with-installed-readline \
 +            --docdir=/usr/share/doc/bash-5.2.21
 +</code>
 +
 +=== configure 옵션 설명 ===
 +
 +  * //with-installed-readline// \\ Bash가 자체 ''readline'' 버전을 사용하는 대신 시스템에 이미 설치된 ''readline'' 라이브러리를 사용하도록 지시합니다.
 +
 +패키지를 컴파일합니다.
 +
 +<code bash>
 +make
 +</code>
 +
 +테스트 스위트를 실행을 원하지 않는 경우 "패키지 설치"로 건너뜁니다.
 +
 +테스트를 준비하려면 //tester// 사용자에게 소스 디렉토리의 쓰기 권한을 줍니다.
 +
 +<code bash>
 +chown -R tester .
 +</code>
 +
 +이 테스트 스위트는 표준 입력에 연결된 터미널을 소유한 //root// 사용자가 아닌 사용자로 실행하도록 설계되었습니다. 요구 사항을 충족하려면 Expect를 사용하여 새 의사 터미널을 생성하고 //tester// 사용자로 테스트를 실행하세요.
 +
 +<code bash>
 +su -s /usr/bin/expect tester << "EOF"
 +set timeout -1
 +spawn make tests
 +expect EOF
 +lassign [wait] _ _ _ value
 +exit $value
 +EOF
 +</code>
 +
 +테스트 스위트는 **diff**를 사용하여 테스트 스크립트의 출력과 예상 출력의 차이를 감지합니다. 차이를 무시해도 된다는 메시지가 없는 한, diff의 모든 출력(접두사 앞에 < 및 >가 붙음)은 테스트 실패를 나타냅니다. ''run-builtins''라는 이름의 테스트는 일부 호스트 배포판에서 출력의 첫 줄에 차이가 있는 경우 실패하는 것으로 알려져 있습니다.
 +
 +패키지를 설치합니다.
 +
 +<code bash>
 +make install
 +</code>
 +
 +새로 컴파일된 **bash** 프로그램을 실행합니다(현재 실행 중인 쉘을 대체합니다).
 +
 +<code bash>
 +exec /usr/bin/bash --login
 +</code>
 +
 +----
 +
 +==== 8.35.2. Bash 패키지 구성 ====
 +
 +  * **설치된 프로그램:** \\ bash, bashbug 및 sh(bash에 대한 링크)
 +  * **설치된 디렉토리:** \\ /usr/include/bash, /usr/lib/bash, /usr/share/doc/bash-5.2.21
 +
 +=== 간략한 설명===
 +
 +  * **bash** \\ 널리 사용되는 명령 인터프리터로, 실행하기 전에 주어진 명령줄에서 다양한 유형의 확장 및 대체를 수행하여 강력한 도구로 사용할 수 있는 명령 인터프리터입니다.
 +  * **bashbug** \\ 사용자가 **bash**와 관련된 표준 형식의 버그 보고서를 작성하고 메일로 보낼 수 있도록 도와주는 셸 스크립트.
 +  * **sh** \\ **bash** 프로그램에 대한 심볼릭 링크. **sh**로 호출될 때, **bash**는 POSIX 표준을 준수하면서 이전 버전의 **sh**의 동작을 최대한 비슷하게 모방하려고 시도합니다.
 +
  
  • linuxfromscratch/12.1/105-bash-5.2.21.1716050855.txt.gz
  • 마지막으로 수정됨: 2024/05/18 16:47
  • 저자 127.0.0.1