You cannot see this page without javascript.

LFS/Preface - 서문

Linux 조회 수 1082 추천 수 0 2014.08.06 10:27:17

1.서문

1.1.처음에



몇 종류의 리눅스 배포판을 사용해봤지만, 저를 완전히 만족시켜주는 배포판은 없었습니다. 부트스크립트의 배치가 맘에 안들었습니다. 아니면 어떤 프로그램의 기본적으로 어떻게 설정돼있나가 마음에 들지 않았습니다. 이런 일이 계속계속 저를 불편하게 했습니다. 결국 제 마음에 쏙 드는 리눅스 시스템을 얻으려면 소스코드만 사용해 바닥에서부터 구축할 필요가 있다는것을 깨달았습니다. 저는 어떤 종류의 컴파일된 패키지도, 기본적인 유틸리티를 인스톨하는 시디롬이나 부트디스크도 사용하지 않을것을 결심했습니다. 제 현재 리눅스시스탬을 사용해서 저만의 시스탬을 개발하는 것입니다.

이 황당한 생각은 그 당시에는 매우 어렵게 보였고, 불가능한것이라는 생각도 자주 들었습니다. 의존성이나 컴파일시의 에러등의 별의 별 문제를 정리한 후에, 잘 돌아가는 수제작 리눅스시스템을 만들어냈습니다. 저는 이 시스템을 Linux From Scratch, 또는 줄여서 LFS라고 불렀습니다.

여러분이 자신만의 LFS를 만드는 데에 환상적인 시간을 보내시기 바랍니다.

-- Gerard Beekmans gerard@linuxfromscratch.org --

1.2.이 책을 읽을 만한 이유


누군가 이책을 읽기 원한다면 많은 이유가 있을 겁니다. 첫번째 이유는 리눅스시스템을 원시코드로부터 그대로 설치하기 위해서입니다. 많은 사람이 '이미 기존의 리눅스 시스템을 다운로드해서 설치할수 있는데, 왜 바닥에서부터 구축하는 노가다를 하는냐?' 질문을 합니다. 아주 좋은 질문이고, 그래서 이 책의 이부분을 쓰게 되었습니다.

LFS 존재의 중요한 이유중 하나는, 리눅스 시스템이 어떻게 움직이는지를 배우기 쉽게 하기 위해서 입니다. LFS 시스템을 구축하는것은 리눅스가 어떻게 돌아가는지, 어떤 것들이 어떻게 상호의존적으로 작동하는지를 한 눈에 보여줍니다. 이 학습 방법에서 배울 수 있는 가장 좋은 점 중 하나는 자신의 취향이나 필요에 맞게 리눅스 시스템을 맞춤제작할 수 있는 능력입니다.

LFS의 핵심적인 이점은 다른 사람의 구현물에 의지하지 않으며 자신의 시스템을 마음대로 주무를 수 있다는 겁니다. LFS를 사용하면 (조수석이 아니라) 운전석에 앉아 디렉토리의 레이아웃이나 부트스크립트의 설정 등, 시스템의 모든 면을 스스로 결정하게 됩니다. 또, 어디에, 왜, 어떻게 프로그램을 설치할 것인가도 결정합니다.

LFS 또다른 이점은 매우 간결한 리눅스시스템을 만들수 있는 겁니다. 일반적인 배포판을 설치할 때는, 전혀 사용하지 않을 프로그램을 몇개나 억지로 설치하게 되는 것이 보통입니다. 쓸모도 없고, 귀중한 디스크공간 낭비입니다. (심지어는 CPU 싸이클 낭비일지도요.) 반면 LFS 시스템을 100MB 이하로 설치하는 것은 어렵지 않습니다. 그 정도도 크다고 느껴지시나요? 우리 중 몇몇은 매우 작은 임베디드 LFS 시스템에 대해 연구해왔습니다. 8MB 정도의 디스크공간만 사용하면서 가까스로 아파치웹서버를 실행할 수 있는 시스템을 성공적으로 구축하였습니다. 거기에다가 strip까지 사용하면 5MB 나 그 이하로도 낮출 수 있을 것입니다. 어디 보통의 배포판으로 그렇게 한번 해보시죠.

리눅스배포판을 패스트푸드점에서 사먹는 햄버거에 비유하곤 합니다. 말하자면 지금 자기가 먹고 있는 것이 무엇인지 아무도 모른다는 거죠. 반면에 LFS는 햄버거를 제공해주지 않습니다. 요리방법을 제공해줍니다. 검토해보고, 마음에 들지 않는 재료는 없애고, 마음에 드는 재료는 넣어서, 햄버거를 더욱 맛좋게 할 수 있습니다. 요리법에 만족을 한다면, 요리를 시작해야죠. 구워먹든, 튀겨먹든, 볶아먹든, 날것으로 먹어도 상관하지 않습니다.

또 비유를 해보자면 LFS를 완성된 집에 비유할 수도 있습니다. LFS는 집의 뼈대 도면을 제공합니다만, 어떻게 지을까는 여러분 나름입니다. 진행 중에 계획을 수정하는 것도 자유입니다.

LFS의 마지막 이점은 보안 입니다. 시스템 전체를 원시코드로부터 컴파일하게 되면, 모든 것을 검사하고, 자신이 필요하다고 생각되는 모든 보안패치를 적용할 권한이 생기게 됩니다. 남이 보안문제를 잡아주는 바이너리패키지를 내주기를 기다리지 않아도 됩니다. 스스로 패치를 살펴보거나 작성해내지 않는 한, 새로운 바이너리 패키지가 제대로 된 패키지이고 문제를 실제로 제대로 해결해준다는 보장은 받을 수 없습니다.

자신의 LFS 시스템을 구축할만한 이유는 너무나 많아서 여기서 다 언급할 수 없습니다. 이 섹션은 단지 빙산의 일각일 뿐입니다. 자신의 LFS 시스템구축의 경험에 따라, 정보와 지식이 진정으로 가져다주는 힘이란 무엇인지 스스로 깨닫게 되실 것입니다.

1.3.LFS와 타겟 아키텍쳐

-- chaoxifer 2013-01-16 12:56:23

LFS의 주된 타겟 아키텍쳐는 32-bit Intel CPU입니다. 만약 여러분이 예전에 LFS 시스템을 설치해본 경험이 없으시다면 32-bit 아키텍쳐로 시작하시는 것이 좋을 것입니다. 32-bit 아키텍쳐는 가장 많이 제공되는 리눅스 시스템이고 오픈 소스와 특허 소프트웨어에 가장 호환이 잘 됩니다.

반면에 이 책의 설명들은 Power PC와 64bit AMD/Intel CPU에서는 약간의 수정으로 시스템을 구축이 가능합니다. 이러한 CPU들을 활용한 시스템을 구축하는 데에 필요한 전제조건은 LFS 설치에 앞서 여러분들이 가지고 있는 CPU 아키텍쳐에 맞는 리눅스 시스템(Ubuntu, Red Hat/Fedora, SuSE, 혹은 다른 disto들)이 설치되어 있어야 합니다.

추가적으로 64-bit 시스템에 대해 알아야 할 것이 있다면, 32-bit 시스템과 비교하였을 때, 실행가능한 프로그램의 크기가 약간 더 크고 실행 속도가 약간 빠르다는 사실입니다. 다음은 Core2Duo CPU based system에서 테스트 빌드를 하였을 때의 측정된 결과입니다:

Architecture   Build Time       Build Size
32-bit         198.5 minutes    648 MB
64-bit         190.6 minutes    709 MB

여러분이 보시는바와 같이, 64bit에서의 빌드는 32bit보다 4%정도 빠르지만 9% 정도 크기가 다 큽니다. 64-bit 시스템에서의 장점은 비교적 적습니다. 물론, 여러분이 4GB 이상의 램과 4GB 이상이 넘는 데이터를 치리하는 경우라면, 64-bit 시스템의 장점은 상당히 클 겁니다.

LFS를 위한 기본적인 64bit 빌드는 순수 64-bit 시스템에서만 가능합니다. 즉, 64-bit로 빌드했을 때 해당 프로그램은 64-bit에서만 실행이 가능하다는 겁니다. "multi-lib" 시스템으로 빌드하는 것은 두 번 컴파일(32bit, 64bit)을 해야합니다. 이것은 간단한 기본 리눅스 시스템을 구축하는 것을 실명하는 LFS의 목적과는 다르기 때문에 LFS에서 직접적으로 지원하지 않습니다. 대신 [http]Cross Linux From Scratch 프로젝트에서 이 부분에 대한 정보를 얻으실 수 있습니다.

마지막으로 64-bit 시스템에 대한 한가지 말씀 드릴 것이 있습니다. 순수 64-bit 시스템에서는 현재 빌드되지 않거나 특별한 빌드 옵션들이 요구되는 패키지들이 있습니다. 일반적으로 이러한 패키지들은 64-bit 시스템에서 빌드하였을 때 실패할 경우를 대비해 임베디드 32-bit 라는 특별한 어셈블리 언어의 명령어들이 있습니다. 여기에는 [http]Beyond Linux From Scratch (BLFS) 의 Xorg drivers도 해당됩니다. 이러한 많은 문제들을 해결할 수는 있지만 문제에 맞는 패치와 특별한 해결 방법들이 있어야 합니다.

1.4. 이 책을 읽지 않을 만한 이유


어떤 이유로든 간에, 이 책을 읽고 싶지 않다고 느끼는 사람도 있을 겁니다. 바닥에서부터 리눅스를 구축하고 싶다고 생각하지 않으면, 이 책을 읽고 싶지 않을 겁니다. 우리의 목적은 여러분이 완전하고 사용 가능한, 기본적인 시스템을 구축하는 것을 돕는 겁니다. 시스템이 기동하때 일어나는것을 알고 싶은것뿐이라면, From Power Up To Bash Prompt HOWTO 문서를 권합니다. 이 문서는 본서에 나오는 시스템과 닮은 최저한의 시스템을 구축하고 있습니다만, BASH prompt까지 기동할수 있는 시스템을 만들어 내는 일에만 엄격하게 초점을 맞추고 있습니다.

어느쪽을 읽을 지 결정하기 어려우면, 무엇을 하고 싶은지 분명히 하십시오. 리눅스시스템을 구축하면서 덤으로 몇가지 배우고 싶으시면 아마 이 책이 탁월한 선택이실 것입니다. 주 목적이 학습임이 분명하고 완성된 시스템을 어떻게 쓸지에 대한 계획이 없으시다면 아마 "From Power Up To Bash Prompt" HOWTO가 보다 좋은 선택이 될겁니다.


"From Power Up To Bash Prompt" HOWTO 는 http://axiom.anu.edu.au/~okeefe/p2b/ 나 The Linux Documentation Project 의 웹 사이트 http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html 에 있습니다.

(역주: "From Power Up To Bash Prompt" HOWTO 의 한국어번역은 KLDP 위키의 http://wiki.kldp.org/wiki.php/FromPowerUpToBashPrompt 에 있습니다. )

1.5. LFS와 표준

-- chaoxifer 2013-01-16 13:49:16

LFS의 구조는 Linux 표준을 최대한 따릅니다. 주된 표준은 다음과 같습니다.

LSB는 다섯개의 표준을 가지고 있습니다(Core, C++, Desktop, Runtime Languages, Printing). 일반적인 조건 뿐만 아니라 아키텍쳐에 따른 조건들도 있습니다. LFS는 이전 절에서 얘기했던 아키텍쳐에 따릅니다.

※ 많은 사람들이 LSB의 조건에 따르지 않습니다. LSB를 정의한 주요 목적은 특허 소프트웨어가 올바르게 설치되어 시스템에서 적절하게 실행되는 것을 확실하게 하기 위해서입니다. 반면에 LFS가 소스 기반이기 때문에, 사용자는 어떤 패키지들이 선호되고 선택되는지, 어떤 패키지들이 설치되지 않을 것인지 등 LSB에서 명시된 것들을 완벽하게 조작할 수 있습니다.

LSB 자격 테스트를 통과할 수 있는 완벽한 LFS 시스템을 만드는 것은 가능하지만 추가적인 패키지들(BLFS) 없이는 불가능하다. 이러한 추가적인 패캐지들은 BLFS에 설치 방법이 있다.


LSB 조건에 만족하기 위해 LFS에서 제공되는 패키지들

LSB Core: Bash, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, Grep, Gzip, M4, Man-DB, Ncurses, Procps, Psmisc, Sed, Shadow, Tar, Util-linux, Zlib

USB C++: Gcc

LSB Desktop: None

LSB Runtime Languages: Perl

LSB Printing: None

LSB Multimeda: None

LSB 조건에 만족하기 위해 BLFS에서 제공되는 패키지들

LSB Core: At, Batch(a part of At), Bc, Cpi, Ed, Fcrontab, Initd-tools, Lsb_release, PAM, Sendmail(or Postfix or Exim)

LSB C++: None

LSB Desktop: ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig, Glib2, GTK+2, Icon-naming-utils, Libjpeg, Libpng, Libxml2, MesaLib, Pango, Qt3, Qt4, Xorg

LSB Runtime Languages: Python

LSB Printing: CUPS

LSB Multimeda: Alsa Libraries, NSPR, NSS, OpenSSL, JAVA, Xdg-utils

LFS 또는 BLFS에서 제공되지 않는 패키지들

LSB Core/LSB C++/LSB Desktop/LSB Runtime Languages/LSB Printing/LSB Multimeda: 없음

1.6. 패키지 분석

-- chaoxifer 2013-01-17 16:26:59

시작하기 전에, LFS의 목표는 완전하고 사용가능한 상태의 "기초"레벨의 시스템을 만드는 것입니다. 이 패키지들은 사용자의 선택에 의해 만들어질 시스템의 최소한의 "기초"가 되는 부분들을 제공하며 동시에 각 패키지에 포함된 파일들을 복사하는데 필요한 모든 패키지가 포함되어 있습니다. 이것은 LFS가 가능한 시스템 중에서 가장 작은 시스템이라는 것을 의미하지는 않습니다. 몇몇의 중요한 패키지들은 엄격하게 요구되지 않는 부분들도 포함하고 있습니다. 아래의 목록들은 이 책의 각 패키지들을 설명한 것입니다.

1.7. 미리 필요한 지식



이 책은 독자가 Linux 소프트웨어의 사용과 인스톨에 대한 지식을 이미 알고 있다고 전제를 두고 있습니다. LFS 시스템을 구축하기 시작하기 전에, 이하의 HOWTO를 읽는 것이 좋을 것입니다.

1.8. 호스트 시스템 요구 조건

-- chaoxifer 2013-01-19 18:37:42

여러분의 호스트 시스템에는 반드시 다음의 최소 버전이 표시되어 있는 소프트웨어들을 가지고 있어야 합니다. 이것은 요즘의 리눅스 배포판에서는 배포되지 않을 것입니다. 앞으로 많은 배포판들이 "<package-name>-devel" 또는 "<package-name>-dev"의 형태로 소프트워어 헤더들을 분리된 패키지 형태로 대체하고 있다는 점을 명심하시기 바랍니다. 반드시 여러분의 리눅스 배포판이 확실하게 제공하도록 아래의 패키지들을 설치해야 합니다.

목록에 있는 버전보다 낮은 버전은 테스트 되지 않았기 때문에 올바르게 작동하지 않을 수도 있습니다.

Bash-3.2 (/bin/sh는 반드시 bash로 symbolic이나 hard로 링크되어 있어야 합니다)

Binutils-2.17 (2.22보다 높은 버전은 테스트하지 않아 권장하지 않습니다)

Bison-2.3(/usr/bin/yacc은 반드시 bison으로 링크되어있거나 bison을 실행하는 스트립트이어야 합니다)

Bzip2-1.0.4

Coreutils-6.9

Diffutils-2.8.1

Findutils-4.2.31

Gawk-3.1.5(/usr/bin/awk은 gawk으로의 링크이어야 됩니다)

Gcc-4.1.2(4.7.1보다 높은 버전은 테스트하지 않아 권장하지 않습니다.)

Glibc-2.5.1

Grep-2.5.1a

Gzip-1.3.12

Linux Kernel-2.6.25(GCC-4.1.2이나 그보다 높은 버전으로 컴파일되어있어야 합니다.)

특정 커널 버전이 요구되는 것은 6장에서 소개한 glibc를 빌드할 때 필요한 커널의 버전을 개발자들의 권고로 정해놓았기 때문입니다. 이는 udev에서도 똑같이 필요합니다.
만약 호스트 커널이 2.6.25보다 낮은 버전이라면 GCC-4.1.2(혹은 그보다 높은 버전에서)에서 컴파일되지 않기 때문에 사양을 만족하는 다른 대체 커널 버전을 구해야합니다. 여기에 대해서는 두 가지 방법이 있습니다. 먼저 여러분의 리눅스 배포판이 2.6.25 버전 혹은 그보다 최신의 커널 패키지를 제공하는지 알아보십시오. 만약 해당 배포판이 적당한 커널 패키지를 제공하지 않는다거나 여러분이 해당 패키지를 설치하기를 원하지 않으신다면 여러분이 직접 커널을 컴파일하는 방법이 있습니다. 커널을 컴파일하고 부트로더(host시스템이 GRUB을 사용한다고 가정함)를 설정하는 벙법에 대해서는 Chapter 8을 참고하십시오.


M4-1.4.10

Make-3.81

Patch-2.5.4

Perl-5.8.8

Sed-4.1.5

Tar-1.18

Texinfo-4.9

Xz-5.0.0

위에서 언급한 symlink는 LFS 시스템을 빌드하기 위해 반드시 필요한 것들입니다. 다른 소프트웨어(dash, mawk 등등)를 가리키는 symlink들은 LFS 개발팀에 의해 테스트되었거나 제공되지는 않지만 잘 작동될 것이며 추가적으로 필요한 패치들을 적용하는데 필요할 수도 있다는 점을 알아두시기 바랍니다.

여러분들의 호스트 시스템이 적절한 버전의 필요한 소프트웨어들을 가지고 있는지 확인하려면, 다음을 실행하십시오:

cat > version-check.sh << "EOF"
#!/bin/bash
# Simple script to list version numbers of critical development tools

export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4
echo "/bin/sh -> `readlink -f /bin/sh`"
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -e /usr/bin/yacc ];
  then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; 
  else echo "yacc not found"; fi

bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -e /usr/bin/awk ];
  then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; 
  else echo "awk not found"; fi

gcc --version | head -n1
ldd --version | head -n1 | cut -d" " -f2-  # glibc version
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
sed --version | head -n1
tar --version | head -n1
echo "Texinfo: `makeinfo --version | head -n1`"
xz --version | head -n1

echo 'main(){}' > dummy.c && gcc -o dummy dummy.c
if [ -x dummy ] 
  then echo "gcc compilation OK";
  else echo "gcc compilation failed"; fi
rm -f dummy.c dummy
EOF

bash version-check.sh

1.9. 조판 표기


이해하기 쉽도록, 이 책에서는 몇가지 조판 상의 규칙을 사용하고 있습니다. 예를 들어보겠습니다.

   
./configure --prefix=/usr 
이 표기는 화면에 입력하도록하는 겁니다. 이러한 형태는 명령에 대해 설명하고 있다는것을 확실히 하기 위해서 설명부분에서도 사용하고 있습니다.


install-info: unknown option `--dir-file=/mnt/lfs/user/info/dir'

이 표기는 명령결과를 화면표시를 나타낸 겁니다. /etc/ld.so.conf 등을 나타내는데 사용됩니다.

Emphasis

이 표기는 이문서에서는 여러가지 목적으로 사용된데, 주로 중요한 내용이나, 예를 보여줄때 사용합니다.


http://www.linuxfromscratch.org

이표기는 하이퍼링크를 나타낼때 쓰여진다. 웹상에서는 다운로드를 받거나 링크로 연결되어 있다.


cat > $LFS/etc/group << ''EOF''
root:x:0:
bin:x:1:
.......
EOF

이 표기는 설정파일을 만들때 자주 쓰인다. 첫 명령어가 $LFS/etc/group 파일를 생성하고, 마지막에 EOF 를 삽입하는것을 보여준다. 이와같은 항목은 통상 예문대로 입력합니다.

(chaoxifer: 아래부분들은 7.2로 업데이트 하면서 추가된 부분입니다)

<REPLACED TEXT>

이 표기는 복사-붙여넣기로 입력되어서는 안되는 부분ᅟᅳ을 표시할 때 사용합니다.

[ OPTIONAL TEXT ]

이 표기는 선택할 수 있는 것들을 괄호로 묶어 구분할 수 있게 한 것입니다.

passwd(5)

이 형식은 특정 man page를 나타냅니다. 괄호안의 숫자는 해당 메뉴얼 안에 있는 특정 절(Section)을 나타냅니다. 예를 들어, passwd는 두 개의 man pages를 갖고 있습니다. 설치 설명서에서 각각의 man page들은 /usr/share/man/man1/passwd.1, /usr/share/man/man5/passwd.5에 위치합니다. 만약 책에서 passwd(5)를 사용했다면 이것은 /usr/share/man/man5/passwd.5.를 가리키고 있는 것입니다. man passwd는 "passwd"로 문서를 찾아서 가장 먼저 찾아낸 페이지(/usr/share/man/man1/passwd.1를 출력합니다. 만약 여러분들이 특정 페이지를 읽고 싶다면 man 5 passwd를 실행하면 됩니다. 한가지 알아둬야 할 점은 대다수의 man 페이지들이 중복되는 페이지 이름을 갖지 않는 다는 것입니다. 그렇기때문에 man <program name> 으로도 충분합니다.

1.10. 사례


이하 사람들과 단체에, Linux From Scratch 에 대한 공헌에 대해서 감사드립니다.


1.10.1. Current Project Team Members




Gerard Beekmans <gerard@linuxfromscratch.org> -- Linux-From-Scratch initiator, LFS Project organizer.


Matthew Burgess <matthew@linuxfromscratch.org> -- LFS Project Co-Leader, LFS General Package maintainer, LFS Book editor.


Craig Colton <meerkats@bellsouth.net> -- LFS, ALFS, BLFS and Hints Project logo creator.


Nathan Coulson <nathan@linuxfromscratch.org> -- LFS-Bootscripts maintainer.


Jeroen Coumans <jeroen@linuxfromscratch.org> -- Website developer, FAQ maintainer.


Bruce Dubbs <bdubbs@linuxfromscratch.org> -- LFS Quality Assurance Team leader, BLFS Book editor.


Manuel Canales Esparcia <manuel@linuxfromscratch.org> -- LFS Book Editor (XML).


Alex Groenewoud <alex@linuxfromscratch.org> -- LFS Book editor.


Mark Hymers <markh@linuxfromscratch.org> -- CVS maintainer, BLFS Book creator, former LFS Book editor.


James Iwanek <iwanek@linuxfromscratch.org> -- System Administration Team member.


Nicholas Leippe <nicholas@linuxfromscratch.org> -- Wiki maintainer.


Anderson Lizardo <lizardo@linuxfromscratch.org> -- Website backend scripts creator and maintainer.


Bill Maltby <bill@linuxfromscratch.org> -- LFS Project organizer.


Alexander Patrakov <alexander@linuxfromscratch.org> -- LFS Book Editor (internationalization/localization).


Scot Mc Pherson <scot@linuxfromscratch.org> -- LFS NNTP gateway maintainer.


Ryan Oliver <ryan@linuxfromscratch.org> -- Testing Team leader, Toolchain maintainer, co-creator of PLFS.


James Robertson <jwrober@linuxfromscratch.org> -- Bugzilla maintainer, Wiki developer, LFS Book editor.


Greg Schafer <greg@linuxfromscratch.org> -- Toolchain maintainer, Former LFS Book editor, co-creator of PLFS.


Tushar Teredesai <tushar@linuxfromscratch.org> -- BLFS Book editor, Hints and Patches Projects maintainer.


Jeremy Utley <jeremy@linuxfromscratch.org> -- LFS Book editor, Bugzilla maintainer, LFS-Bootscripts Maintainer, LFS Server co-admin.


Zack Winkles <winkie@linuxfromscratch.org> -- LFS Book editor (Emerging Technologies), LFS-Bootscripts co-maintainer.


Countless other people on the various LFS and BLFS mailing lists who are making this book happen by giving their suggestions, testing the book and submitting bug reports, instructions and their experiences with installing various packages.

1.10.2. Translators




Manuel Canales Esparcia <macana@lfs-es.org> -- Spanish LFS translation project.


Johan Lenglet <johan@linuxfromscratch.org> -- French LFS translation project.


Anderson Lizardo <lizardo@linuxfromscratch.org> -- Portuguese LFS translation project.


Thomas Reitelbach <tr@erdfunkstelle.de> -- German LFS translation project.

1.10.3. Mirror Maintainers

1.10.3.1. North American Mirrors




Scott Kveton <scott@osuosl.org> -- lfs.oregonstate.edu mirror


Mikhail Pastukhov <miha@xuy.biz> -- lfs.130th.net mirror.


Frank Mancuso <crash4o4@gameover.com> -- lfs.crash404.com mirror.


William Astle <lost@l-w.net> -- ca.linuxfromscratch.org mirror.


Jeremy Polen <jpolen@rackspace.com> -- us2.linuxfromscratch.org mirror.


Tim Jackson <tim@idge.net> -- linuxfromscratch.idge.net mirror.


Jeremy Utley <jeremy@linux-phreak.net> -- lfs.linux-phreak.net mirror.

1.10.3.2. South American Mirrors



Manuel Canales Esparcia <manuel@linuxfromscratch.org> -- lfsmirror.lfs-es.org mirror.


Andres Meggiotto <sysop@mesi.com.ar> -- lfs.mesi.com.ar mirror.


Eduardo B. Fonseca <ebf@aedsolucoes.com.br> -- br.linuxfromscratch.org mirror.

1.10.3.3. European Mirrors




Barna Koczka <barna@siker.hu> -- hu.linuxfromscratch.org mirror.


UK Mirror Service -- linuxfromscratch.mirror.ac.uk mirror.


Martin Voss <Martin.Voss@ada.de> -- lfs.linux-matrix.net mirror.


Unknown -- mirror.vtx.ch mirror


Guido Passet <guido@primerelay.net> -- nl.linuxfromscratch.org mirror.


Bastiaan Jacques <baafie@planet.nl> -- lfs.pagefault.net mirror


Roel Neefs <lfs-mirror@linuxfromscratch.rave.org> -- linuxfromscratch.rave.org mirror.


Justin Knierim <justin@jrknierim.de> -- www.lfs-matrix.de mirror


Stephan Brendel <stevie@stevie20.de> -- lfs.netservice-neuss.de mirror.


Unknown -- linuxfromscratch.je-zi.de mirror


Unknown -- linuxfromscratch.tuxcenter.net mirror


Hagen Herrschaft <hrx@hrxnet.de> -- de.linuxfromscratch.org mirror.


Antonin Sprinzl <Antonin.Sprinzl@tuwien.ac.at> -- at.linuxfromscratch.org mirror.


Fredrik Danerklint <fredan-lfs@fredan.org> -- se.linuxfromscratch.org mirror.


Parisian sysadmins <archive@doc.cs.univ-paris8.fr> -- www2.fr.linuxfromscratch.org mirror.


Alexander Velin <velin@zadnik.org> -- bg.linuxfromscratch.org mirror.


Dirk Webster <dirk@securewebservices.co.uk> -- lfs.securewebservices.co.uk mirror


Thomas Skyt <thomas@sofagang.dk> -- dk.linuxfromscratch.org mirror.


Simon Nicoll <sime@dot-sime.com> -- uk.linuxfromscratch.org mirror.

1.10.3.4. Asian Mirrors




Pui Yong <pyng@spam.averse.net> -- sg.linuxfromscratch.org mirror.


Stuart Harris <stuart@althalus.me.uk> -- lfs.mirror.intermedia.com.sg mirror


Unknown -- lfs.mirror.if.itb.ac.id mirror

1.10.3.5. Australian Mirrors




Jason Andrade <jason@dstc.edu.au> -- au.linuxfromscratch.org mirror.

1.10.4. Donators




Dean Benson <dean@vipersoft.co.uk> for several monetary contributions.


DREAMWVR.COM for their past sponsorship of donating various resources to the LFS and related sub projects.


Hagen Herrschaft <hrx@hrxnet.de> for donating a 2.2 GHz P4 system, now running under the name of lorien.


O'Reilly for donating books on SQL and PHP.


VA Software who, on behalf of Linux.com, donated a VA Linux 420 (former StartX SP2) workstation.


Mark Stone for donating shadowfax, the first linuxfromscratch.org server, a 750 MHz P3 with 512 MB RAM and two 9 GB SCSI drives. When the server moved it was renamed to belgarath.


Jesse Tie-Ten-Quee <highos@linuxfromscratch.org> for donating a Yamaha CDRW 8824E CD-writer.


Countless other people on the various LFS mailing lists who are making this book better by giving their suggestions, submitting bug reports, and throwing in their criticism.

1.10.5. Former Team Members and Contributors




Timothy Bauscher <timothy@linuxfromscratch.org> -- LFS Book editor, Hints Project maintainer.


Robert Briggs for originally donating the linuxfromscratch.org and linuxfromscratch.com domain names.


Ian Chilton <ian@ichilton.co.uk> for maintaining the Hints project.


Marc Heerdink <gimli@linuxfromscratch.org> -- LFS Book editor.


Seth W. Klein <sklein@linuxfromscratch.org> -- LFS FAQ creator.


Garrett LeSage <garrett@linuxart.com> -- Original LFS banner creator.


Simon Perreault <nomis80@videotron.ca> -- Hints Project maintainer.


Geert Poels <Geert.Poels@skynet.be> -- Original BLFS banner creator; based on the LFS banner by Garrett LeSage.


Frank Skettino <bkenoah@oswd.org> for the initial design of the old website -- have a look at http://www.oswd.org/.


Jesse Tie-Ten-Quee <highos@linuxfromscratch.org> for temporarily hosting the linuxfromscratch.org server, answering countless questions on IRC and having a great deal of patience.




1.11. 구조



이 책은 이하의 4 개의 부분에 구별 차지고 있습니다.

1.11.1. 제1부 - 서두

제1부에서는 인스톨에 대한 중요한 내용은 적다. 이 문서에 대한 버전, 수정기록,사례,메일링리스트등을 내용이 들어있습니다.


1.11.2. 제2부 - 구축의 준비


제2부에서는 구축의 준비를 어떻게 하는가를 설명합니다. 파티션작성, 패키지 다운로드, 임시사용 툴의 컴파일등을 설명합니다.

1.11.3. 제3부 - LFS 시스템의 구축


제3부에서는 LFS 시스템의 구축을 안내합니다. 모든 패키지를 하나하나 컴파일해서 설치하고, 부트스크립트를 설정해고, 커널을 설치합니다. 그 결과 완성된 기본적인 리눅스 시스템을 여러분이 원하는대로 확장시켜나갈 수 있습니다.

1.12. Errata


LFS system의 소프트웨어는 지속적으로 업데이트되고 향상될 것입니다. 보안성 경고나 Bug fix들은 아마도 LFS 책이 나온 이후에 가능할 것입니다. 패키지의 버전이나 사용된 명령어의 패치가 필요한지 확인하려면 다음 페이지를 참고하십시오 : http://www.linuxfromscratch.org/lfs/errata/7.2/

빌드하기 전에 관련된 부분에서 변경된 사항이 있는지 확인하시기 바랍니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수
369 APM mariadb download origin address LynX 2019-06-19 1989
368 APM What one can and should optimize LynX 2019-06-03 1415
367 CentOS mariadb install LynX 2019-05-31 1179
366 CentOS init mode change LynX 2019-05-30 1288
365 APM ext zip install LynX 2019-02-19 1612
364 APM ext ImageMagick install LynX 2019-02-19 511
363 3D Printer Pronterface(PrintRun) install file LynX 2018-09-13 753
362 CentOS Grub UUID change LynX 2018-08-08 867
361 Linux letsencrypt wildcard LynX 2018-07-26 798
360 Printer cura usb connection LynX 2018-07-06 666
359 CentOS cli 무선랜 LynX 2018-06-07 446
358 APM 윈도우에 APM 페키지 설치 file LynX 2018-05-04 586
357 APM MySQLTuner 설치 LynX 2018-04-27 544
356 CentOS CentOS7 커널 업데이트 LynX 2018-04-23 699
355 HTML Tag CSS 여러가지 모양 만들기 LynX 2018-02-08 771
354 Linux wkhtmltopdf wkhtmltoimage install LynX 2018-01-31 602
353 APM LZ4_LIBS Not Found (CentOS7, MariaDB 10.1.29) LynX 2018-01-03 485
352 APM mysql ./configure LynX 2017-12-15 804
351 APM PHP-7.2.0 LynX 2017-12-12 3157
350 Linux libiconv LynX 2017-12-08 558

XE Login