linuxfromscratch:12.1

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linuxfromscratch:12.1 [2024/04/16 01:52] – [Published March 1st, 2024] baecylinuxfromscratch:12.1 [Unknown date] (현재) – 제거됨 - 바깥 편집 (Unknown date) 127.0.0.1
줄 1: 줄 1:
-====== Linux From Scratch - Version 12.1-systemd ====== 
-===== Published March 1st, 2024 ===== 
-**Created by Gerard Beekmans \\ 
-Managing Editor: Bruce Dubbs \\ 
-Editor: Douglas R. Reno \\ 
-Editor: DJ Lucas ** \\ 
-  
-Copyright © 1999-2024 Gerard Beekmans  
  
-Copyright © 1999-2024, Gerard Beekmans  
- 
-All rights reserved. 
- 
-This book is licensed under a [[https://www.linuxfromscratch.org/lfs/downloads/stable-systemd/LFS-BOOK-12.1-systemd-NOCHUNKS.html#CC|Creative Commons License.]] 
- 
-Computer instructions may be extracted from the book under the [[https://www.linuxfromscratch.org/lfs/downloads/stable-systemd/LFS-BOOK-12.1-systemd-NOCHUNKS.html#MIT|MIT License.]] 
- 
-Linux® is a registered trademark of Linus Torvalds. 
- 
----- \\ 
- 
-==== 서문 ==== 
-=== i.서문 === 
-Linux를 배우고 더 잘 이해하기 위한 저의 여정은 1998년에 시작되었습니다. 당시 저는 첫 Linux 배포판을 설치한 지 얼마 되지 않았을 때였고, Linux의 전체 개념과 철학에 금세 흥미를 느꼈습니다. 
- 
-하나의 작업을 수행하는 방법에는 항상 여러 가지가 있습니다. Linux 배포판도 마찬가지입니다. 수년에 걸쳐 수많은 배포판이 존재해 왔습니다. 일부는 여전히 존재하고 일부는 다른 형태로 변모했지만 다른 일부는 우리의 기억 속으로 사라졌습니다. 이들은 모두 대상 고객의 요구에 맞게 각기 다른 방식으로 작업을 수행합니다. 동일한 최종 목표를 달성하는 다양한 방법이 존재하기 때문에 저는 더 이상 한 가지 구현 방식에 얽매일 필요가 없다는 것을 깨닫기 시작했습니다. Linux를 발견하기 전에는 다른 운영 체제에서 발생하는 문제를 선택의 여지가 없었기 때문에 그냥 참았습니다. 좋든 싫든 어쩔 수 없는 것이었죠. Linux와 함께 선택의 개념이 등장하기 시작했습니다. 마음에 들지 않으면 자유롭게 변경할 수 있었고 심지어 권장되기도 했습니다. 
- 
-저는 여러 배포판을 사용해 보았지만 어떤 배포판도 결정할 수 없었습니다. 그 자체로 훌륭한 시스템이었죠. 더 이상 옳고 그름의 문제가 아니었죠. 개인적인 취향의 문제가 되었습니다. 선택의 폭이 너무 넓다 보니 저에게 딱 맞는 시스템은 하나도 없다는 것이 분명해졌습니다. 그래서 저는 제 개인적인 취향에 완전히 부합하는 나만의 Linux 시스템을 만들기 시작했습니다. 
- 
-진정으로 나만의 시스템을 만들기 위해 미리 컴파일된 바이너리 패키지를 사용하는 대신 모든 것을 소스 코드에서 컴파일하기로 결심했습니다. 이 "완벽한" Linux 시스템은 다양한 시스템의 장점은 살리고 단점은 없앨 수 있을 것입니다. 처음에는 이 아이디어가 다소 부담스러웠습니다. 저는 그런 시스템을 구축할 수 있다는 생각에 계속 전념했습니다. 
- 
-순환 종속성 및 컴파일 타임 오류와 같은 문제를 해결한 후 마침내 맞춤형 Linux 시스템을 구축했습니다. 이 시스템은 당시 다른 어떤 Linux 시스템과 마찬가지로 완벽하게 작동하고 완벽하게 사용할 수 있었습니다. 하지만 제가 직접 만든 시스템이었죠. 그런 시스템을 직접 만들었다는 것은 매우 만족스러운 일이었습니다. 더 좋은 방법은 각 소프트웨어를 직접 만드는 것이었습니다. 이것은 차선책이었죠. 
- 
-리눅스 커뮤니티의 다른 구성원들과 제 목표와 경험을 공유하면서 이러한 아이디어에 대한 지속적인 관심이 있다는 것을 알게 되었습니다. 이러한 맞춤형 Linux 시스템은 사용자의 특정 요구 사항을 충족할 뿐만 아니라 프로그래머와 시스템 관리자가 (기존) Linux 기술을 향상시킬 수 있는 이상적인 학습 기회라는 것이 금방 분명해졌습니다. 이러한 폭넓은 관심에서 Linux 처음부터 시작하기 프로젝트가 탄생했습니다. 
- 
-이 Linux 처음부터 시작하기 책은 이 프로젝트의 중심이 되는 책입니다. 이 책은 사용자가 직접 시스템을 설계하고 구축하는 데 필요한 배경 지식과 지침을 제공합니다. 이 책은 올바르게 작동하는 시스템을 만들 수 있는 템플릿을 제공하지만, 여러분은 자신에게 맞게 지침을 자유롭게 변경할 수 있으며, 이것이 이 프로젝트의 중요한 부분입니다. 여러분은 여전히 통제권을 갖고 있으며, 저희는 여러분만의 여정을 시작할 수 있도록 도움을 드릴 뿐입니다. 
- 
-리눅스 프롬 스크래치 시스템으로 즐거운 시간을 보내시고 진정한 나만의 시스템을 만드는 데 따른 수많은 혜택을 누리시길 진심으로 바랍니다. 
- 
--- 
-Gerard Beekmans \\ 
-[[gerard@linuxfromscratch.org]] 
- 
-=== ii.독자 === 
- 
-이 책을 읽어야 하는 이유는 여러 가지가 있습니다. 많은 사람들이 제기하는 질문 중 하나는 "기존 시스템을 다운로드하여 설치할 수 있는데 왜 굳이 처음부터 수동으로 Linux 시스템을 구축하는 번거로움을 감수해야 하나요?"입니다. 
- 
-이 프로젝트의 중요한 존재 이유 중 하나는 Linux 시스템의 내부에서 작동하는 방식을 배우는 데 도움을 주기 위해서입니다. LFS 시스템을 구축하면 Linux의 작동 원리와 각 요소가 어떻게 함께 작동하고 서로 의존하는지 알 수 있습니다. 이 학습 경험이 제공할 수 있는 가장 좋은 점 중 하나는 자신의 고유한 필요에 맞게 Linux 시스템을 사용자 지정할 수 있다는 것입니다. 
- 
-LFS의 또 다른 주요 장점은 다른 사람의 Linux 구현에 의존하지 않고도 시스템을 제어할 수 있다는 것입니다. LFS를 사용하면 사용자가 운전석에 앉게 됩니다. 시스템의 모든 측면을 직접 지정할 수 있습니다. 
- 
-LFS를 사용하면 매우 컴팩트한 Linux 시스템을 만들 수 있습니다. 다른 배포판에서는 사용하거나 이해하지도 못하는 수많은 프로그램을 강제로 설치해야 하는 경우가 많습니다. 이러한 프로그램은 리소스를 낭비합니다. 오늘날의 하드 드라이브와 CPU를 사용하면 리소스 낭비는 더 이상 고려 대상이 아니라고 주장할 수도 있습니다. 그러나 때로는 여전히 시스템 크기에 제약을 받는 경우가 있습니다. 부팅 가능한 CD, USB 스틱, 임베디드 시스템을 생각해 보세요. 이러한 경우 LFS가 유용할 수 있는 영역입니다. 
- 
-커스텀 빌드 Linux 시스템의 또 다른 장점은 보안입니다. 소스 코드에서 전체 시스템을 컴파일하면 모든 것을 감사하고 원하는 모든 보안 패치를 적용할 수 있습니다. 다른 사람이 보안 허점을 수정하는 바이너리 패키지를 컴파일할 때까지 기다릴 필요가 없습니다. 패치를 검토하고 직접 구현하지 않는 한, 새 바이너리 패키지가 올바르게 빌드되어 문제를 적절히 해결한다는 보장은 없습니다. 
- 
-Linux 처음부터 시작하기의 목표는 완전하고 사용 가능한 기초 수준의 시스템을 구축하는 것입니다. 리눅스 시스템을 처음부터 직접 구축하지 않더라도 이 책에 있는 정보를 활용할 수 있습니다. 
- 
-여기에 모두 나열하기에는 자신만의 LFS 시스템을 구축해야 하는 좋은 이유가 너무 많습니다. 결국 교육이 가장 중요한 이유입니다. LFS를 계속 경험하면서 정보와 지식이 가져다주는 힘을 발견하게 될 것입니다. 
- 
-=== iii. LFS 대상 아키텍처 === 
-LFS의 주요 대상 아키텍처는 AMD/Intel x86(32비트) 및 x86_64(64비트) CPU입니다. 한편, 이 책의 지침은 약간의 수정을 거쳐 Power PC 및 ARM CPU에서도 작동하는 것으로 알려져 있습니다. 이러한 대체 CPU 중 하나를 사용하는 시스템을 구축하려면 다음 페이지에 나와 있는 것 외에 주요 전제 조건은 이전 LFS 설치, Ubuntu, Red Hat/Fedora, SuSE 또는 해당 아키텍처를 대상으로 하는 다른 배포판과 같은 기존 Linux 시스템입니다. (32비트 배포판을 64비트 AMD/Intel 컴퓨터에서 호스트 시스템으로 설치하여 사용할 수 있습니다.) 
- 
-32비트 시스템과 비교하여 64비트 시스템에서 빌드할 때의 이점은 미미합니다. 예를 들어 코어 i7-4790 CPU 기반 시스템에서 4개의 코어를 사용하여 LFS-9.1을 테스트 빌드한 결과 다음과 같은 통계가 측정되었습니다: 
-<code> 
-아키텍처 빌드 시간 빌드 크기 
-32비트 239.9분 3.6GB 
-64비트 233.2분 4.4GB 
-</code> 
-보시다시피 동일한 하드웨어에서 64비트 빌드가 32비트 빌드보다 3% 더 빠르고 22% 더 큽니다. LFS를 LAMP 서버 또는 방화벽으로 사용하려는 경우 32비트 CPU로도 충분할 수 있습니다. 반면에 BLFS의 여러 패키지를 빌드하거나 실행하려면 4GB 이상의 RAM이 필요하므로 LFS를 데스크톱으로 사용할 계획이라면 64비트 시스템을 빌드할 것을 권장합니다. 
- 
-LFS에서 생성되는 기본 64비트 빌드는 "순수한" 64비트 시스템입니다. 즉, 64비트 실행 파일만 지원합니다. "멀티 라이브러리" 시스템을 빌드하려면 많은 애플리케이션을 32비트 시스템용과 64비트 시스템용으로 한 번씩 두 번 컴파일해야 합니다. 이는 기본 Linux 시스템에 필요한 최소한의 지침을 제공하려는 교육 목표에 방해가 되기 때문에 LFS에서는 직접 지원되지 않습니다. 일부 LFS/BLFS 편집기는 [[https://www.linuxfromscratch.org/~thomas/multilib/index.html]]에서 액세스할 수 있는 LFS의 멀티라이브 포크를 유지 관리합니다. 하지만 이는 고급 주제입니다. 
- 
-=== iv. 전제 조건 === 
-LFS 시스템 구축은 간단한 작업이 아닙니다. 문제를 해결하고 나열된 명령을 올바르게 실행하려면 일정 수준의 기존 Unix 시스템 관리 지식이 필요합니다. 특히 최소한 명령줄(셸)을 사용하여 파일과 디렉터리를 복사 또는 이동하고, 디렉터리와 파일 내용을 나열하고, 현재 디렉터리를 변경하는 방법을 알고 있어야 합니다. 또한 Linux 소프트웨어를 사용하고 설치하는 방법을 알고 있어야 합니다. 
- 
-LFS 책에서는 최소한 이 정도의 기본적인 기술 수준을 전제로 하기 때문에 다양한 LFS 지원 포럼에서는 이러한 영역에 대해 많은 도움을 제공하지 못할 것입니다. 이러한 기본 지식에 관한 질문은 답변이 없거나 LFS 필수 사전 읽기 목록으로 안내될 가능성이 높습니다. 
- 
-LFS 시스템을 구축하기 전에 다음 문서를 읽어보시기 바랍니다: 
- 
-소프트웨어 구축-하우투 [[https://tldp.org/HOWTO/Software-Building-HOWTO.html]] 
- 
-이 문서는 Linux에서 "일반" Unix 소프트웨어 패키지를 빌드하고 설치하는 방법에 대한 종합적인 안내서입니다. 오래 전에 작성되었지만 여전히 소프트웨어를 빌드하고 설치하는 데 사용되는 기본 기술에 대한 좋은 요약 정보를 제공합니다. 
- 
-소스에서 설치하기 위한 초보자 가이드 [[https://moi.vonos.net/linux/beginners-installing-from-source/]] 
- 
-이 가이드는 소스 코드에서 소프트웨어를 빌드하는 데 필요한 기본 기술과 기법을 잘 요약하여 제공합니다. 
- 
-=== v. LFS 및 표준 === 
-LFS의 구조는 Linux 표준을 최대한 가깝게 따릅니다. 주요 표준은 다음과 같습니다: 
- 
-POSIX.1-2008. 
- 
-파일시스템 계층 구조 표준(FHS) 버전 3.0 
- 
-LSB(Linux 표준 베이스) 버전 5.0(2015) 
- 
-LSB에는 네 가지 개별 사양이 있습니다: 코어, 데스크톱, 런타임 언어 및 이미징입니다. 코어 및 데스크톱 사양의 일부 부분은 아키텍처별로 다릅니다. 또한 두 가지 평가판 사양도 있습니다: Gtk3와 그래픽스입니다. LFS는 이전 섹션에서 설명한 IA32(32비트 x86) 또는 AMD64(x86_64) 아키텍처에 대한 LSB 사양을 준수하려고 시도합니다. 
- 
-[참고] 참고 
-많은 사람들이 이러한 요구 사항에 동의하지 않습니다. LSB의 주요 목적은 독점 소프트웨어가 규정을 준수하는 시스템에 설치 및 실행될 수 있도록 보장하는 것입니다. LFS는 소스 기반이므로 사용자가 원하는 패키지를 완전히 제어할 수 있으며, LSB에서 지정한 일부 패키지를 설치하지 않도록 선택할 수도 있습니다. 
- 
-LSB 인증 테스트를 '처음부터' 통과할 수 있는 완전한 시스템을 만들 수는 있지만, LFS 북의 범위를 벗어나는 많은 추가 패키지가 없으면 이 작업을 수행할 수 없습니다. 이러한 추가 패키지에 대한 설치 지침은 BLFS에서 확인할 수 있습니다. 
- 
-LSB 요구 사항을 충족하는 데 필요한 LFS에서 제공하는 패키지 
-LSB 코어: 
- 
-Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, Grep, Gzip, M4, Man-DB, Ncurses, Procps, Psmisc, Sed, Shadow, Tar, Util-linux, Zlib 
- 
-LSB 데스크톱: 
- 
-없음 
- 
-LSB 런타임 언어: 
- 
-Perl, Python 
- 
-LSB 이미징: 
- 
-없음 
- 
-LSB Gtk3 및 LSB 그래픽(평가판 사용): 
- 
-없음 
- 
-LSB 요구 사항을 충족하는 데 필요한 BLFS에서 제공한 패키지 
-LSB 코어: 
- 
-At, Batch(At의 일부), Cpio, Ed, Fcrontab, LSB-Tools, NSPR, NSS, PAM, Pax, Sendmail(또는 Postfix 또는 Exim), 시간 
- 
-LSB 데스크톱: 
- 
-Alsa, ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig, Gdk-pixbuf, Glib2, GTK+2, Icon-naming-utils, Libjpeg-turbo, Libpng, Libtiff, Libxml2, MesaLib, Pango, Xdg-utils, Xorg 
- 
-LSB 런타임 언어: 
- 
-Libxml2, Libxslt 
- 
-LSB 이미징: 
- 
-CUPS, 컵 필터, 고스트 스크립트, SANE 
- 
-LSB Gtk3 및 LSB 그래픽(평가판 사용): 
- 
-GTK+3 
- 
-LSB 요구 사항을 충족하는 데 필요한 LFS 또는 BLFS에서 제공하지 않는 패키지 
-LSB 코어: 
- 
-없음 
- 
-LSB 데스크톱: 
- 
-Qt4(단, Qt5는 제공됨) 
- 
-LSB 런타임 언어: 
- 
-없음 
- 
-LSB 이미징: 
- 
-없음 
- 
-LSB Gtk3 및 LSB 그래픽(평가판 사용): 
- 
-없음 
  • linuxfromscratch/12.1.1713232347.txt.gz
  • 마지막으로 수정됨: 2024/04/16 01:52
  • 저자 baecy