차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
linuxfromscratch:12.1:172-getting_started_after_lfs [2024/04/16 16:04] – 만듦 - 바깥 편집 127.0.0.1 | linuxfromscratch:12.1:172-getting_started_after_lfs [2024/06/18 12:04] (현재) – [11.5.2. 기본 LFS 환경에서 작업하기] baecy | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ^ Linux From Scratch - Version 12.1-systemd | ||
+ | ^ Chapter 11. The End ^^^ | ||
+ | |[[.: | ||
+ | |추가적인 자료 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 11.5. LFS 완료한 후 ===== | ||
+ | |||
+ | ==== 11.5.1. 다음에 수행할 작업 결정하기 ==== | ||
+ | |||
+ | 이제 LFS가 완료되고 부팅 가능한 시스템이 생겼으니 이제 무엇을 해야 할까요? 다음 단계는 이 시스템을 어떻게 사용할지 결정하는 것입니다. 일반적으로 워크스테이션 또는 서버라는 두 가지 범주를 고려할 수 있습니다. 실제로 이러한 범주는 상호 배타적이지 않습니다. 각 카테고리에 필요한 애플리케이션을 하나의 시스템에 결합할 수 있지만 지금은 따로따로 살펴보기로 하겠습니다. | ||
+ | |||
+ | 서버는 상대적으로 간단한 카테고리입니다. 일반적으로 [[https:// | ||
+ | |||
+ | 반면에 워크스테이션은 훨씬 더 복잡합니다. 일반적으로 기본 그래픽 환경을 기반으로 하는 [[https:// | ||
+ | |||
+ | 위의 애플리케이션 외에도 모든 종류의 시스템에 대한 시스템 관리를 위한 애플리케이션 세트가 있습니다. 이러한 애플리케이션은 모두 BLFS 책에 포함되어 있습니다. 모든 환경에 모든 패키지가 필요한 것은 아닙니다. 예를 들어 [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 11.5.2. 기본 LFS 환경에서 작업하기 ==== | ||
+ | |||
+ | 처음 LFS로 부팅하면 추가 패키지를 빌드할 수 있는 모든 내부 도구가 제공됩니다. 안타깝게도 사용자 환경은 매우 빈약합니다. 이를 개선할 수 있는 몇 가지 방법이 있습니다. | ||
+ | |||
+ | === 11.5.2.1. 호스트에서 LFS 가상 루트 방식으로 작업하기 === | ||
+ | |||
+ | 이 방법은 모든 기능을 갖춘 브라우저와 복사/ | ||
+ | |||
+ | 루트에서 패키지를 제대로 빌드하려면 가상 파일 시스템이 아직 마운트되지 않은 경우 마운트하는 것도 기억해야 합니다. 이를 위한 한 가지 방법은 호스트 시스템에서 스크립트를 만드는 것입니다. | ||
+ | <code bash> | ||
+ | cat > ~/ | ||
+ | #!/bin/bash | ||
+ | |||
+ | function mountbind | ||
+ | { | ||
+ | if ! mountpoint $LFS/$1 >/ | ||
+ | $SUDO mount --bind /$1 $LFS/$1 | ||
+ | echo $LFS/$1 mounted | ||
+ | else | ||
+ | echo $LFS/$1 already mounted | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function mounttype | ||
+ | { | ||
+ | if ! mountpoint $LFS/$1 >/ | ||
+ | $SUDO mount -t $2 $3 $4 $5 $LFS/$1 | ||
+ | echo $LFS/$1 mounted | ||
+ | else | ||
+ | echo $LFS/$1 already mounted | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | if [ $EUID -ne 0 ]; then | ||
+ | SUDO=sudo | ||
+ | else | ||
+ | SUDO="" | ||
+ | fi | ||
+ | |||
+ | if [ x$LFS == x ]; then | ||
+ | echo "LFS not set" | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | mountbind dev | ||
+ | mounttype dev/pts devpts devpts -o gid=5, | ||
+ | mounttype proc proc proc | ||
+ | mounttype sys | ||
+ | mounttype run | ||
+ | if [ -h $LFS/ | ||
+ | install -v -d -m 1777 $LFS$(realpath /dev/shm) | ||
+ | else | ||
+ | mounttype dev/shm tmpfs tmpfs -o nosuid, | ||
+ | fi | ||
+ | |||
+ | #mountbind usr/src | ||
+ | #mountbind boot | ||
+ | #mountbind home | ||
+ | EOF</ | ||
+ | |||
+ | 스크립트의 마지막 세 명령은 주석 처리되어 있습니다. 이 명령은 해당 디렉터리가 호스트 시스템에 별도의 파티션으로 마운트되어 있고 완료된 LFS/BLFS 시스템을 부팅할 때 마운트되는 경우에 유용합니다. | ||
+ | |||
+ | 이 스크립트는 일반 사용자(권장) 또는 루트로 '' | ||
+ | |||
+ | 스크립트에서 봐야할 또 다른 것은 다운로드한 패키지 파일을 저장할 위치입니다. 이 위치는 임의의 위치입니다. 일반 사용자의 홈 디렉터리(예: | ||
+ | |||
+ | 마지막으로 소개하는 편의 기능은 루트 환경으로 들어가는 프로세스를 간소화하는 것입니다. 이는 호스트 시스템의 사용자 ~/.bashrc 파일에 별칭을 지정하여 수행할 수 있습니다. | ||
+ | |||
+ | <code bash> | ||
+ | alias lfs=' | ||
+ | </ | ||
+ | 이 alias는 인용부와 백슬래시 문자 때문에 약간 까다로운 편입니다. 한 줄에 모두 입력해야 합니다. | ||
+ | |||
+ | === 11.5.2.2. ssh를 통해 원격으로 작업하기 === | ||
+ | |||
+ | 이 방법도 전체 그래픽 환경을 제공하지만 먼저 LFS 시스템(일반적으로 루트)에 [[beyondlinuxfromscratch: | ||
+ | |||
+ | scp 명령을 사용하여 LFS 시스템에 빌드할 패키지 소스를 업로드할 수 있습니다. 대신 소스를 LFS 시스템에 직접 다운로드하려면 루트에서 [[beyondlinuxfromscratch: | ||
+ | |||
+ | === 11.5.2.3. LFS 명령줄에서 작업하기 === | ||
+ | |||
+ | 이 방법을 사용하려면 chroot 상태에서 [[beyondlinuxfromscratch: | ||
+ | |||
+ | 이 시점에서 두 개의 다른 가상 콘솔에 로그인하여 한 콘솔에서는 링크 또는 lynx 브라우저를 실행하고 다른 콘솔에서는 bash를 실행할 수 있습니다. 그러면 마우스 왼쪽 버튼으로 브라우저에서 명령을 복사하고 콘솔을 전환한 후 다른 콘솔에 붙여넣을 수 있습니다. | ||
+ | |||
+ | <WRAP info center round 90%> | ||
+ | 참고 \\ | ||
+ | 참고로 가상 콘솔 전환은 X Window 인스턴스에서도 **Ctrl+Alt+Fx** 키 조합으로 수행할 수 있지만, 그래픽 인터페이스와 가상 콘솔 간에는 마우스 복사 작업이 작동하지 않습니다. **Ctrl+Alt+Fx** 조합을 사용하여 X 창 디스플레이로 돌아갈 수 있으며, 여기서 **Fx**는 일반적으로 **F1**이지만 **F7**일 수도 있습니다.</ |