Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 8. Installing Basic System Software | ||
이전 | 위로 / 처음으로 | 다음 |
Grep-3.11 | Libtool-2.4.7 |
Bash 패키지에는 Bourne-Again Shell이 포함되어 있습니다.
먼저 업스트림에서 확인된 몇 가지 문제를 해결합니다.
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
readline
버전을 사용하는 대신 시스템에 이미 설치된 readline
라이브러리를 사용하도록 지시합니다.패키지를 컴파일합니다.
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