양쪽 이전 판 이전 판 다음 판 | 이전 판 |
linuxfromscratch:12.1:172-getting_started_after_lfs [2024/04/24 08:05] – baecy | linuxfromscratch:12.1:172-getting_started_after_lfs [2024/06/18 12:04] (현재) – [11.5.2. 기본 LFS 환경에서 작업하기] baecy |
---|
| ^ 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. LFS 완료한 후 ===== |
| |
==== 11.5.1. 다음에 수행할 작업 결정하기 ==== | ==== 11.5.1. 다음에 수행할 작업 결정하기 ==== |
| |
이제 LFS가 완료되고 부팅 가능한 시스템이 생겼으니 이제 무엇을 해야 할까요? 다음 단계는 이 시스템을 어떻게 사용할지 결정하는 것입니다. 일반적으로 워크스테이션 또는 서버라는 두 가지 범주를 고려할 수 있습니다. 실제로 이러한 범주는 상호 배타적이지 않습니다. 각 카테고리에 필요한 애플리케이션을 하나의 시스템에 결합할 수 있지만 지금은 따로따로 살펴보기로 하겠습니다. | 이제 LFS가 완료되고 부팅 가능한 시스템이 생겼으니 이제 무엇을 해야 할까요? 다음 단계는 이 시스템을 어떻게 사용할지 결정하는 것입니다. 일반적으로 워크스테이션 또는 서버라는 두 가지 범주를 고려할 수 있습니다. 실제로 이러한 범주는 상호 배타적이지 않습니다. 각 카테고리에 필요한 애플리케이션을 하나의 시스템에 결합할 수 있지만 지금은 따로따로 살펴보기로 하겠습니다. |
| |
| |
위의 애플리케이션 외에도 모든 종류의 시스템에 대한 시스템 관리를 위한 애플리케이션 세트가 있습니다. 이러한 애플리케이션은 모두 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]]는 일반적으로 노트북 시스템에만 유용합니다. | 위의 애플리케이션 외에도 모든 종류의 시스템에 대한 시스템 관리를 위한 애플리케이션 세트가 있습니다. 이러한 애플리케이션은 모두 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 환경에서 작업하기 ==== | ==== 11.5.2. 기본 LFS 환경에서 작업하기 ==== |
처음 LFS로 부팅하면 추가 패키지를 빌드할 수 있는 모든 내부 도구가 제공됩니다. 안타깝게도 사용자 환경은 매우 빈약합니다. 이를 개선할 수 있는 몇 가지 방법이 있습니다: | |
| |
=== 11.5.2.1. 루트에서 LFS 호스트에서 작업하기 === | 처음 LFS로 부팅하면 추가 패키지를 빌드할 수 있는 모든 내부 도구가 제공됩니다. 안타깝게도 사용자 환경은 매우 빈약합니다. 이를 개선할 수 있는 몇 가지 방법이 있습니다. |
| |
| === 11.5.2.1. 호스트에서 LFS 가상 루트 방식으로 작업하기 === |
이 방법은 모든 기능을 갖춘 브라우저와 복사/붙여넣기 기능을 사용할 수 있는 완전한 그래픽 환경을 제공합니다. 이 방법을 사용하면 호스트의 wget 버전과 같은 애플리케이션을 사용하여 루트 환경에서 작업할 때 사용할 수 있는 위치로 패키지 소스를 다운로드할 수 있습니다. | 이 방법은 모든 기능을 갖춘 브라우저와 복사/붙여넣기 기능을 사용할 수 있는 완전한 그래픽 환경을 제공합니다. 이 방법을 사용하면 호스트의 wget 버전과 같은 애플리케이션을 사용하여 루트 환경에서 작업할 때 사용할 수 있는 위치로 패키지 소스를 다운로드할 수 있습니다. |
| |
루트에서 패키지를 제대로 빌드하려면 가상 파일 시스템이 아직 마운트되지 않은 경우 마운트하는 것도 기억해야 합니다. 이를 위한 한 가지 방법은 호스트 시스템에서 스크립트를 만드는 것입니다: | 루트에서 패키지를 제대로 빌드하려면 가상 파일 시스템이 아직 마운트되지 않은 경우 마운트하는 것도 기억해야 합니다. 이를 위한 한 가지 방법은 호스트 시스템에서 스크립트를 만드는 것입니다. |
<code lang=bash> | <code bash> |
cat > ~/mount-virt.sh << "EOF" | cat > ~/mount-virt.sh << "EOF" |
#!/bin/bash | #!/bin/bash |
스크립트에서 봐야할 또 다른 것은 다운로드한 패키지 파일을 저장할 위치입니다. 이 위치는 임의의 위치입니다. 일반 사용자의 홈 디렉터리(예: ~/sources)나 전역 위치(예: /usr/src)에 저장할 수 있습니다. (루트 환경의) /sources에 BLFS 소스와 LFS 소스를 혼합하지 않는 것이 좋습니다((mount --bind <target> <mountpoint> 사용해서 호스트 디렉토리 마운트 가능)). 어떤 경우든 패키지는 루트 환경 내에서 액세스할 수 있어야 합니다. | 스크립트에서 봐야할 또 다른 것은 다운로드한 패키지 파일을 저장할 위치입니다. 이 위치는 임의의 위치입니다. 일반 사용자의 홈 디렉터리(예: ~/sources)나 전역 위치(예: /usr/src)에 저장할 수 있습니다. (루트 환경의) /sources에 BLFS 소스와 LFS 소스를 혼합하지 않는 것이 좋습니다((mount --bind <target> <mountpoint> 사용해서 호스트 디렉토리 마운트 가능)). 어떤 경우든 패키지는 루트 환경 내에서 액세스할 수 있어야 합니다. |
| |
마지막으로 소개하는 편의 기능은 루트 환경으로 들어가는 프로세스를 간소화하는 것입니다. 이는 호스트 시스템의 사용자 ~/.bashrc 파일에 별칭을 지정하여 수행할 수 있습니다: | 마지막으로 소개하는 편의 기능은 루트 환경으로 들어가는 프로세스를 간소화하는 것입니다. 이는 호스트 시스템의 사용자 ~/.bashrc 파일에 별칭을 지정하여 수행할 수 있습니다. |
| |
<code lang=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> \\ | <code bash> |
이 alias는 인용부와 백슬래시 문자 때문에 약간 까다로운 편입니다. 한 줄에 모두 입력해야 합니다. 위의 명령은 표시를 위해 두 개로 나누었습니다. | 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. === | === 11.5.2.2. ssh를 통해 원격으로 작업하기 === |
ssh를 통해 원격으로 작업하기 이 방법도 전체 그래픽 환경을 제공하지만 먼저 LFS 시스템(일반적으로 루트)에 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/openssh.html|sshd]]를 설치해야 합니다. 또한 두 번째 컴퓨터가 필요합니다. 이 방법은 복잡한 루트 환경이 필요하지 않아 간편하다는 장점이 있습니다. 또한 모든 추가 패키지에 LFS 빌드 커널을 사용하며 패키지를 설치하기 위한 완전한 시스템을 제공합니다. | |
| |
scp 명령을 사용하여 LFS 시스템에 빌드할 패키지 소스를 업로드할 수 있습니다. 대신 소스를 LFS 시스템에 직접 다운로드하려면 루트에서 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/general/libtasn1.html|libtasn1]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/p11-kit.html|p11-kit]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/make-ca.html|make-ca]] 및 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/wget.html|wget]]을 설치하거나 LFS 시스템을 부팅한 후 scp를 사용하여 해당 소스를 업로드합니다. | 이 방법도 전체 그래픽 환경을 제공하지만 먼저 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 명령줄에서 작업하기 === | === 11.5.2.3. LFS 명령줄에서 작업하기 === |
이 방법을 사용하려면 chroot 상태에서 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/general/libtasn1.html|libtasn1]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/p11-kit.html|p11-kit]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/make-ca.html|make-ca]], [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/wget.html|wget]], [[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+→** 조합도 콘솔을 변경합니다. | |
| 이 방법을 사용하려면 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를 실행할 수 있습니다. 그러면 마우스 왼쪽 버튼으로 브라우저에서 명령을 복사하고 콘솔을 전환한 후 다른 콘솔에 붙여넣을 수 있습니다. | 이 시점에서 두 개의 다른 가상 콘솔에 로그인하여 한 콘솔에서는 링크 또는 lynx 브라우저를 실행하고 다른 콘솔에서는 bash를 실행할 수 있습니다. 그러면 마우스 왼쪽 버튼으로 브라우저에서 명령을 복사하고 콘솔을 전환한 후 다른 콘솔에 붙여넣을 수 있습니다. |