차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
| linuxfromscratch:12.1:105-bash-5.2.21 [2024/05/18 16:47] – 만듦 - 바깥 편집 127.0.0.1 | linuxfromscratch: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 | ||
| + | |[[.: | ||
| + | |||
| + | |Grep-3.11 | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 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 컴파일을 준비합니다. | ||
| + | |||
| + | <code bash> | ||
| + | ./configure --prefix=/ | ||
| + | --without-bash-malloc | ||
| + | --with-installed-readline \ | ||
| + | --docdir=/ | ||
| + | </ | ||
| + | |||
| + | === configure 옵션 설명 === | ||
| + | |||
| + | * // | ||
| + | |||
| + | 패키지를 컴파일합니다. | ||
| + | |||
| + | <code bash> | ||
| + | make | ||
| + | </ | ||
| + | |||
| + | 테스트 스위트를 실행을 원하지 않는 경우 " | ||
| + | |||
| + | 테스트를 준비하려면 //tester// 사용자에게 소스 디렉토리의 쓰기 권한을 줍니다. | ||
| + | |||
| + | <code bash> | ||
| + | chown -R tester . | ||
| + | </ | ||
| + | |||
| + | 이 테스트 스위트는 표준 입력에 연결된 터미널을 소유한 //root// 사용자가 아닌 사용자로 실행하도록 설계되었습니다. 요구 사항을 충족하려면 Expect를 사용하여 새 의사 터미널을 생성하고 //tester// 사용자로 테스트를 실행하세요. | ||
| + | |||
| + | <code bash> | ||
| + | su -s / | ||
| + | set timeout -1 | ||
| + | spawn make tests | ||
| + | expect EOF | ||
| + | lassign [wait] _ _ _ value | ||
| + | exit $value | ||
| + | EOF | ||
| + | </ | ||
| + | |||
| + | 테스트 스위트는 **diff**를 사용하여 테스트 스크립트의 출력과 예상 출력의 차이를 감지합니다. 차이를 무시해도 된다는 메시지가 없는 한, diff의 모든 출력(접두사 앞에 < 및 >가 붙음)은 테스트 실패를 나타냅니다. '' | ||
| + | |||
| + | 패키지를 설치합니다. | ||
| + | |||
| + | <code bash> | ||
| + | make install | ||
| + | </ | ||
| + | |||
| + | 새로 컴파일된 **bash** 프로그램을 실행합니다(현재 실행 중인 쉘을 대체합니다). | ||
| + | |||
| + | <code bash> | ||
| + | exec / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== 8.35.2. Bash 패키지 구성 ==== | ||
| + | |||
| + | * **설치된 프로그램: | ||
| + | * **설치된 디렉토리: | ||
| + | |||
| + | === 간략한 설명=== | ||
| + | |||
| + | * **bash** \\ 널리 사용되는 명령 인터프리터로, | ||
| + | * **bashbug** \\ 사용자가 **bash**와 관련된 표준 형식의 버그 보고서를 작성하고 메일로 보낼 수 있도록 도와주는 셸 스크립트. | ||
| + | * **sh** \\ **bash** 프로그램에 대한 심볼릭 링크. **sh**로 호출될 때, **bash**는 POSIX 표준을 준수하면서 이전 버전의 **sh**의 동작을 최대한 비슷하게 모방하려고 시도합니다. | ||
| + | |||