linuxfromscratch:12.1:086-expect-5.45.4

차이

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

차이 보기로 링크

다음 판
이전 판
linuxfromscratch:12.1:086-expect-5.45.4 [2024/05/18 16:47] – 만듦 - 바깥 편집 127.0.0.1linuxfromscratch:12.1:086-expect-5.45.4 [2024/06/15 11:29] (현재) – [8.16.1. Expect 설치] baecy
줄 1: 줄 1:
 +^  Linux From Scratch - Version 12.1-systemd  ^^^
 +^  Chapter 8. Installing Basic System Software  ^^^
 +|[[.:085-tcl-8.6.13|이전]]  |  [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]]  |  [[.:087-dejagnu-1.6.3|다음]]|
 +
 +|Tcl-8.6.3  |  DejaGNU-1.6.3|
 +
 +----
 +
 +===== 8.16. Expect-5.45.4 =====
 +
 +Expect 패키지에는 스크립트 대화문를 통해 **telnet**, **ftp**, **passwd**, **fsck**, **rlogin**, **tip**과 같은 대화형 애플리케이션을 자동화하기 위한 도구가 포함되어 있습니다. Expect는 이러한 애플리케이션을 테스트하는 데도 유용하며, 다른 어떤 것으로도 엄청나게 어려운 모든 종류의 작업을 쉽게 처리할 수 있습니다. DejaGnu 프레임워크는 Expect로 작성되었습니다.
 +
 +  * **빌드 시간:** 0.2 SBU
 +  * **디스크 공간:** 3.9 MB
 +
 +----
 +
 +==== 8.16.1. Expect 설치 ====
 +
 +Expect가 작동하려면 PTY가 필요합니다. 간단한 테스트를 수행하여 PTY가 chroot 환경 내에서 제대로 작동하는지 확인합니다.
 +
 +<code bash>
 +python3 -c 'from pty import spawn; spawn(["echo", "ok"])'
 +</code>
 +
 +이 명령은 ''ok''가 출력되어야 합니다. 만약 출력에 ''OSError: out of pty devices''가 포함된다면 PTY 작동을 위한 환경이 설정되지 않은 것입니다. 루트 환경을 종료하고 [[.:060-preparing_virtual_kernel_file_systems#7.3. 가상 커널 파일 시스템 준비하기|섹션 7.3, "가상 커널 파일 시스템 준비하기"]]를 다시 읽고 devpts 파일 시스템(및 기타 가상 커널 파일 시스템)이 올바르게 마운트되었는지 확인해야 합니다. 그런 다음 [[.:061-entering_the_chroot_environment#7.4. 루트 환경으로 들어가기|섹션 7.4, "루트 환경으로 들어가기"]]에 따라 chroot 환경으로 다시 들어갑니다. 계속하기 전에 이 문제를 해결하지 않으면 Expect가 필요한 테스트 스위트(예: Bash, Binutils, GCC, GDBM은 물론 Expect 자체의 테스트 스위트)가 치명적으로 실패하고 다른 미묘한 손상도 발생할 수 있습니다.
 +
 +Expect 컴파일를 준비합니다.
 +
 +<code bash>
 +./configure --prefix=/usr           \
 +            --with-tcl=/usr/lib     \
 +            --enable-shared         \
 +            --mandir=/usr/share/man \
 +            --with-tclinclude=/usr/include
 +</code>
 +
 +=== configure 옵션의 의미: ===
 +
 +  * //--with-tcl=/usr/lib// \\ tclConfig.sh 스크립트의 위치를 알려주는 데 필요합니다.
 +  * //--with-tclinclude=/usr/include// \\ 명시적으로 Expect에 Tcl의 내부 헤더를 찾을 위치를 알려줍니다.
 +
 +패키지를 빌드합니다.
 +
 +<code bash>
 +make
 +</code>
 +
 +결과를 테스트하려면
 +
 +<code bash>
 +make test
 +</code>
 +
 +패키지를 설치합니다.
 +
 +<code bash>
 +make install
 +ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib
 +</code>
 +
 +----
 +
 +==== 8.16.2. Expect 패키지 구성 ====
 +
 +  * **설치한 프로그램** \\ expect
 +  * **설치한 라이브러리** \\ libexpect5.45.4.so
 +
 +=== 간략한 설명===
 +
 +  * **expect** \\ 스크립트에 따라 다른 대화형 프로그램과 통신합니다.
 +  * libexpect-5.45.4.so \\ Expect를 Tcl의 확장으로 사용하거나 C 또는 C++에서 Tcl없이 직접 사용할 수 있도록 하는 함수를 포함합니다.
 +
  
  • linuxfromscratch/12.1/086-expect-5.45.4.1716050855.txt.gz
  • 마지막으로 수정됨: 2024/05/18 16:47
  • 저자 127.0.0.1