^ Linux From Scratch - Version 12.1-systemd ^^^ ^ Chapter 7. Entering Chroot and Building Additional Temporary Tools ^^^ |[[.:060-Preparing Virtual Kernel File Systems|이전]] | [[.:07-entering_chroot_and_building_additional_tempory_tools|위로]] / [[.:12.1|처음으로]] | [[.:062-Creating Directories|다음]]| |가상 커널 파일 시스템 준비 | 디렉터리 생성| ---- ===== 7.4. Chroot 환경으로 들어가기 ===== 이제 나머지 필요한 도구를 빌드하는 데 필요한 모든 패키지가 시스템에 설치되었으므로 이제 //chroot// 환경으로 들어가 임시 도구 설치를 마칠 차례입니다. 이 환경은 최종 시스템을 설치하는 데도 사용됩니다. //root// 사용자로 다음과 같이 아직은 임시 도구로만 채워진 환경으로 들어갑니다. chroot "$LFS" /usr/bin/env -i \ HOME=/root \ TERM="$TERM" \ PS1='(lfs chroot) \u:\w\$ ' \ PATH=/usr/bin:/usr/sbin \ MAKEFLAGS="-j$(nproc)" \ TESTSUITEFLAGS="-j$(nproc)" \ /bin/bash --login 사용 가능한 모든 논리 코어를 사용하지 않으려면 이 장과 다음 장에서 패키지를 빌드하는 데 사용할 논리 코어 수로 //$(nproc)//를 바꾸세요. [[.:08-Installing Basic System Software|8장]]에 나오는 일부 패키지(특히 Autoconf, Libtool, Tar)의 테스트 스위트는 ''MAKEFLAGS''의 영향을 받지 않고 대신 ''TESTSUITEFLAGS'' 환경 변수를 사용합니다. 여기에서도 다중 코어로 이러한 테스트 스위트를 실행하기 위해 이 변수를 설정했습니다. **env** 명령에 //-i// 옵션을 지정하면 //chroot// 환경의 모든 변수가 지워집니다. 그런 다음 ''HOME'', ''TERM'', ''PS1'' 및 ''PATH'' 변수만 다시 설정됩니다. //TERM=$TERM// 구문은 루트 내부의 ''TERM'' 변수를 chroot 외부와 동일한 값으로 설정합니다. 이 변수는 **vim**이나 **less** 등의 프로그램이 제대로 작동하기 위해 필요합니다. ''CFLAGS'' 또는 ''CXXFLAGS''와 같은 다른 변수가 필요한 경우 여기에 설정하는 것이 좋습니다. 이 시점부터는 모든 작업이 LFS 파일 시스템으로 제한되므로 더 이상 ''LFS'' 변수를 사용할 필요가 없으며, **chroot** 명령은 루트(/) 디렉터리를 ''$LFS''로 설정한 상태에서 Bash 셸을 실행합니다. 경로에 ''/tools/bin''이 없다는 점에 유의하세요. 이는 크로스 툴체인이 더 이상 사용되지 않음을 의미합니다. 또한 **bash** 프롬프트에 ''I have no name!'' 메시지가 표시됩니다! 이는 ''/etc/passwd'' 파일이 아직 생성되지 않았기 때문에 정상입니다. **참고** \\ 이 장의 나머지 부분과 다음 장의 모든 명령은 //chroot// 환경 내에서 실행하는 것이 중요합니다. 재부팅 등의 이유로 이 환경을 떠나는 경우 [[.:060-preparing_virtual_kernel_file_systems#7.3.1. dev 마운트 및 생성|7.3.1절 "/dev 마운트 및 생성"]] 및 [[.:060-preparing_virtual_kernel_file_systems#7.3.2. 가상 커널 파일 시스템 마운트|7.3.2절 "가상 커널 파일 시스템 마운트"]]에 설명된 대로 가상 커널 파일 시스템이 마운트되었는지 확인하고 설치를 계속하기 전에 다시 //chroot// 환경으로 들어갑니다.