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이 포함되어 있습니다.
- 빌드 시간: 1.2 SBU
- 디스크 공간: 52 MB
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 옵션 설명
- with-installed-readline
Bash가 자체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
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의 동작을 최대한 비슷하게 모방하려고 시도합니다.