차이

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

차이 보기로 링크

다음 판
이전 판
linuxfromscratch:12.1:172-getting_started_after_lfs [2024/04/16 16:04] – 만듦 - 바깥 편집 127.0.0.1linuxfromscratch: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  ^^^
 +|[[.:171-Additional Resources|이전]]  |  [[.:11-the_end|위로]] / [[.:12.1|처음으로]]  |  [[.:5-Appendices|다음]]|
  
 +|추가적인 자료  |  부록|
 +
 +----
 +
 +===== 11.5. LFS 완료한 후 =====
 +
 +==== 11.5.1. 다음에 수행할 작업 결정하기 ====
 +
 +이제 LFS가 완료되고 부팅 가능한 시스템이 생겼으니 이제 무엇을 해야 할까요? 다음 단계는 이 시스템을 어떻게 사용할지 결정하는 것입니다. 일반적으로 워크스테이션 또는 서버라는 두 가지 범주를 고려할 수 있습니다. 실제로 이러한 범주는 상호 배타적이지 않습니다. 각 카테고리에 필요한 애플리케이션을 하나의 시스템에 결합할 수 있지만 지금은 따로따로 살펴보기로 하겠습니다.
 +
 +서버는 상대적으로 간단한 카테고리입니다. 일반적으로 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/server/apache.html|Apache HTTP 서버]]와 같은 웹 서버와 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/server/mariadb.html|MariaDB]]와 같은 데이터베이스 서버로 구성됩니다. 하지만 다른 서비스도 가능합니다. USB 드라이브 내장된 운영체제가 이 범주에 속합니다.
 +
 +반면에 워크스테이션은 훨씬 더 복잡합니다. 일반적으로 기본 그래픽 환경을 기반으로 하는 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/lxde/lxde.html|LXDE]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/xfce/xfce.html|XFCE]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/kde/kde.html|KDE]] 또는 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/gnome/gnome.html|Gnome]]과 같은 그래픽 사용자 환경과 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/xsoft/firefox.html|Firefox 웹 브라우저]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/xsoft/thunderbird.html|Thunderbird 이메일 클라이언트]] 또는 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/xsoft/libreoffice.html|LibreOffice 오피스 제품군]]과 같은 여러 그래픽 기반 애플리케이션이 필요합니다. 이러한 애플리케이션에는 원하는 기능에 따라 수백 개 이상의 지원 애플리케이션 및 라이브러리 패키지가 필요합니다.
 +
 +위의 애플리케이션 외에도 모든 종류의 시스템에 대한 시스템 관리를 위한 애플리케이션 세트가 있습니다. 이러한 애플리케이션은 모두 BLFS 책에 포함되어 있습니다. 모든 환경에 모든 패키지가 필요한 것은 아닙니다. 예를 들어 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/dhcpcd.html|dhcpcd]]는 일반적으로 서버에는 적합하지 않으며 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/wireless_tools.html|wireless_tools]]는 일반적으로 노트북 시스템에만 유용합니다.
 +
 +----
 +
 +==== 11.5.2. 기본 LFS 환경에서 작업하기 ====
 +
 +처음 LFS로 부팅하면 추가 패키지를 빌드할 수 있는 모든 내부 도구가 제공됩니다. 안타깝게도 사용자 환경은 매우 빈약합니다. 이를 개선할 수 있는 몇 가지 방법이 있습니다.
 +
 +=== 11.5.2.1. 호스트에서 LFS 가상 루트 방식으로 작업하기 ===
 +
 +이 방법은 모든 기능을 갖춘 브라우저와 복사/붙여넣기 기능을 사용할 수 있는 완전한 그래픽 환경을 제공합니다. 이 방법을 사용하면 호스트의 wget 버전과 같은 애플리케이션을 사용하여 루트 환경에서 작업할 때 사용할 수 있는 위치로 패키지 소스를 다운로드할 수 있습니다.
 +
 +루트에서 패키지를 제대로 빌드하려면 가상 파일 시스템이 아직 마운트되지 않은 경우 마운트하는 것도 기억해야 합니다. 이를 위한 한 가지 방법은 호스트 시스템에서 스크립트를 만드는 것입니다.
 +<code bash>
 +cat > ~/mount-virt.sh << "EOF"
 +#!/bin/bash
 +
 +function mountbind
 +{
 +   if ! mountpoint $LFS/$1 >/dev/null; then
 +     $SUDO mount --bind /$1 $LFS/$1
 +     echo $LFS/$1 mounted
 +   else
 +     echo $LFS/$1 already mounted
 +   fi
 +}
 +
 +function mounttype
 +{
 +   if ! mountpoint $LFS/$1 >/dev/null; then
 +     $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,mode=620
 +mounttype proc    proc   proc
 +mounttype sys     sysfs  sysfs
 +mounttype run     tmpfs  run
 +if [ -h $LFS/dev/shm ]; then
 +  install -v -d -m 1777 $LFS$(realpath /dev/shm)
 +else
 +  mounttype dev/shm tmpfs tmpfs -o nosuid,nodev
 +fi 
 +
 +#mountbind usr/src
 +#mountbind boot
 +#mountbind home
 +EOF</code> \\
 +
 +스크립트의 마지막 세 명령은 주석 처리되어 있습니다. 이 명령은 해당 디렉터리가 호스트 시스템에 별도의 파티션으로 마운트되어 있고 완료된 LFS/BLFS 시스템을 부팅할 때 마운트되는 경우에 유용합니다.
 +
 +이 스크립트는 일반 사용자(권장) 또는 루트로 ''bash ~/mount-virt.sh''를 사용하여 실행할 수 있습니다. 일반 사용자로 실행하는 경우 호스트 시스템에 **sudo**가 있어야 합니다.
 +
 +스크립트에서 봐야할 또 다른 것은 다운로드한 패키지 파일을 저장할 위치입니다. 이 위치는 임의의 위치입니다. 일반 사용자의 홈 디렉터리(예: ~/sources)나 전역 위치(예: /usr/src)에 저장할 수 있습니다. (루트 환경의) /sources에 BLFS 소스와 LFS 소스를 혼합하지 않는 것이 좋습니다((mount --bind <target> <mountpoint> 사용해서 호스트 디렉토리 마운트 가능)). 어떤 경우든 패키지는 루트 환경 내에서 액세스할 수 있어야 합니다.
 +
 +마지막으로 소개하는 편의 기능은 루트 환경으로 들어가는 프로세스를 간소화하는 것입니다. 이는 호스트 시스템의 사용자 ~/.bashrc 파일에 별칭을 지정하여 수행할 수 있습니다.
 +
 +<code bash>
 +alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ " PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash -login'
 +</code>
 +이 alias는 인용부와 백슬래시 문자 때문에 약간 까다로운 편입니다. 한 줄에 모두 입력해야 합니다. 
 +
 +=== 11.5.2.2. ssh를 통해 원격으로 작업하기 ===
 +
 +이 방법도 전체 그래픽 환경을 제공하지만 먼저 LFS 시스템(일반적으로 루트)에 [[beyondlinuxfromscratch:installedpackages:openssh-9.6p1|openssh-9.6p1]]를 설치해야 합니다. 또한 두 번째 컴퓨터가 필요합니다. 이 방법은 복잡한 루트 환경이 필요하지 않아 간편하다는 장점이 있습니다. 또한 모든 추가 패키지에 LFS 빌드 커널을 사용하며 패키지를 설치하기 위한 완전한 시스템을 제공합니다.
 +
 +scp 명령을 사용하여 LFS 시스템에 빌드할 패키지 소스를 업로드할 수 있습니다. 대신 소스를 LFS 시스템에 직접 다운로드하려면 루트에서 [[beyondlinuxfromscratch:installedpackages:libtasn1-4.19.0|libtasn1-4.19.0]], [[beyondlinuxfromscratch:installedpackages:p11-kit-0.25.3|p11-kit-0.25.3]], [[beyondlinuxfromscratch:installedpackages:make-ca-1.13|make-ca-1.13]], [[beyondlinuxfromscratch:installedpackages:wget-1.21.4|wget-1.21.4]]을 설치하거나 LFS 시스템을 부팅한 후 scp를 사용하여 해당 소스를 업로드합니다.
 +
 +=== 11.5.2.3. LFS 명령줄에서 작업하기 ===
 +
 +이 방법을 사용하려면 chroot 상태에서 [[beyondlinuxfromscratch:installedpackages:libtasn1-4.19.0|libtasn1-4.19.0]], [[beyondlinuxfromscratch:installedpackages:p11-kit-0.25.3|p11-kit-0.25.3]], [[beyondlinuxfromscratch:installedpackages:make-ca-1.13|make-ca-1.13]], [[beyondlinuxfromscratch:installedpackages:wget-1.21.4|wget-1.21.4]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/general/gpm.html|gpm]] 및 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/links.html|link]](또는 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/lynx.html|lynx]])를 설치한 다음 새 LFS 시스템으로 재부팅해야 합니다. 이 시점에서 기본 시스템에는 6개의 가상 콘솔이 있습니다. 콘솔을 전환하는 방법은 간편하게 Alt+Fx 키 조합을 사용합니다(여기서 Fx는 **F1**과 **F6** 사이). **Alt+←** 및 **Alt+→** 조합도 콘솔을 변경합니다.
 +
 +이 시점에서 두 개의 다른 가상 콘솔에 로그인하여 한 콘솔에서는 링크 또는 lynx 브라우저를 실행하고 다른 콘솔에서는 bash를 실행할 수 있습니다. 그러면 마우스 왼쪽 버튼으로 브라우저에서 명령을 복사하고 콘솔을 전환한 후 다른 콘솔에 붙여넣을 수 있습니다.
 +
 +<WRAP info center round 90%>
 +참고 \\
 +참고로 가상 콘솔 전환은 X Window 인스턴스에서도 **Ctrl+Alt+Fx** 키 조합으로 수행할 수 있지만, 그래픽 인터페이스와 가상 콘솔 간에는 마우스 복사 작업이 작동하지 않습니다. **Ctrl+Alt+Fx** 조합을 사용하여 X 창 디스플레이로 돌아갈 수 있으며, 여기서 **Fx**는 일반적으로 **F1**이지만 **F7**일 수도 있습니다.</WRAP>
  • linuxfromscratch/12.1/172-getting_started_after_lfs.1713283475.txt.gz
  • 마지막으로 수정됨: 2024/04/16 16:04
  • 저자 127.0.0.1