목차

Linux From Scratch - Version 12.1-systemd
Chapter 8. Installing Basic System Software
이전 위로 / 처음으로 다음
Grep-3.11 Libtool-2.4.7

8.35. Bash-5.2.21

Bash 패키지에는 Bourne-Again Shell이 포함되어 있습니다.


8.35.1. Bash 설치

먼저 업스트림에서 확인된 몇 가지 문제를 해결합니다.

patch -Np1 -i ../bash-5.2.21-upstream_fixes-1.patch

Bash 컴파일을 준비합니다.

./configure --prefix=/usr             \
            --without-bash-malloc     \
            --with-installed-readline \
            --docdir=/usr/share/doc/bash-5.2.21

configure 옵션 설명

패키지를 컴파일합니다.

make

테스트 스위트를 실행을 원하지 않는 경우 “패키지 설치”로 건너뜁니다.

테스트를 준비하려면 tester 사용자에게 소스 디렉토리의 쓰기 권한을 줍니다.

chown -R tester .

이 테스트 스위트는 표준 입력에 연결된 터미널을 소유한 root 사용자가 아닌 사용자로 실행하도록 설계되었습니다. 요구 사항을 충족하려면 Expect를 사용하여 새 의사 터미널을 생성하고 tester 사용자로 테스트를 실행하세요.

su -s /usr/bin/expect tester << "EOF"
set timeout -1
spawn make tests
expect EOF
lassign [wait] _ _ _ value
exit $value
EOF

테스트 스위트는 diff를 사용하여 테스트 스크립트의 출력과 예상 출력의 차이를 감지합니다. 차이를 무시해도 된다는 메시지가 없는 한, diff의 모든 출력(접두사 앞에 < 및 >가 붙음)은 테스트 실패를 나타냅니다. run-builtins라는 이름의 테스트는 일부 호스트 배포판에서 출력의 첫 줄에 차이가 있는 경우 실패하는 것으로 알려져 있습니다.

패키지를 설치합니다.

make install

새로 컴파일된 bash 프로그램을 실행합니다(현재 실행 중인 쉘을 대체합니다).

exec /usr/bin/bash --login


8.35.2. Bash 패키지 구성

간략한 설명