linuxfromscratch:12.1:006-rationale_for_packages_in_the_book

Linux From Scratch - Version 12.1-systemd
Preface
이전 위로 / 처음으로 다음
LFS와 표준 표기법

LFS의 목표는 자가 복제에 필요한 모든 패키지를 포함하여 완전하고 사용 가능한 기초 수준의 시스템을 구축하고, 사용자의 선택에 따라 보다 완벽한 시스템을 사용자 지정할 수 있는 비교적 최소한의 기반을 제공하는 것입니다. 그렇다고 해서 LFS가 가장 작은 시스템이라는 뜻은 아닙니다. 엄밀히 말하자면 필수는 아니지만 몇 가지 중요한 패키지가 포함되어 있습니다. 아래 목록에는 책에 포함된 각 패키지가 포함된 이유가 설명되어 있습니다.

  • Acl
    파일 및 디렉터리에 대한 세분화된 액세스 권한을 정의하는데 사용되는 액세스 제어 목록을 관리하는 유틸리티가 포함되어 있습니다.
  • Attr
    파일 시스템 개체의 확장 속성을 관리하기 위한 프로그램이 포함되어 있습니다.
  • Autoconf
    개발자의 템플릿에서 소스 코드를 자동으로 구성할 수 있는 셸 스크립트를 생성하는 프로그램을 제공합니다. 빌드 절차가 업데이트된 후 패키지를 다시 빌드하는 데 필요한 경우가 많습니다.
  • Automake
    템플릿에서 Make 파일을 생성하는 프로그램이 포함되어 있습니다. 빌드 절차가 업데이트된 후 패키지를 다시 빌드하는 데 필요한 경우가 많습니다.
  • Bash
    시스템에 본 셸 인터페이스를 제공하기 위한 LSB 핵심 요구 사항을 충족합니다. 일반적인 사용법과 광범위한 기능으로 인해 다른 셸 패키지보다 선택되었습니다.
  • Bc
    임의의 정밀도 수치 처리 언어를 제공합니다. 리눅스 커널을 빌드하기 필요한 사항입니다.
  • Binutils
    객체 파일을 처리하기 위한 링커, 어셈블러 및 기타 도구를 제공합니다. 이 패키지의 프로그램은 LFS 시스템에서 대부분의 패키지를 컴파일하는 데 필요합니다.
  • Bison
    여러 LFS 프로그램을 빌드하는 데 필요한 yacc(Yet Another Compiler Compiler)의 GNU 버전이 포함되어 있습니다.
  • Bzip2
    파일 압축 및 압축 해제를 위한 프로그램이 포함되어 있습니다. 많은 LFS 패키지를 압축 해제하는 데 필요합니다.
  • Check
    다른 프로그램을 위한 테스트 도구를 제공합니다.
  • Coreutils
    파일과 디렉터리를 열고 조작하는 데 필요한 여러 가지 필수 프로그램이 포함되어 있습니다. 명령줄을 기반으로 하는 파일 관리에 필요하며 LFS의 모든 패키지의 설치 필요합니다.
  • D-Bus
    애플리케이션 간에 서로 통신할 수 있는 메시지 버스 시스템을 구현하는 프로그램이 포함되어 있습니다.
  • DejaGNU
    다른 프로그램을 테스트하기 위한 프레임워크를 제공합니다.
  • Diffutils
    파일 또는 디렉터리 간의 차이점을 보여주는 프로그램이 포함되어 있습니다. 패치를 만드는 데 사용할 수 있으며 많은 패키지의 빌드 과정에도 사용됩니다.
  • E2fsprogs
    ext2, ext3 및 ext4 파일 시스템을 처리하기 위한 유틸리티를 제공합니다. 이 파일 시스템은 리눅스가 지원하는 가장 일반적이고 철저한 검증를 거친 파일 시스템입니다.
  • Expat
    비교적 작은 XML 구문 분석 라이브러리를 생성합니다. XML::Parser Perl 모듈에 필요합니다.
  • Expect
    다른 대화형 프로그램과 스크립트 대화를 수행하기 위한 프로그램이 포함되어 있습니다. 일반적으로 다른 패키지를 테스트하는 데 사용됩니다.
  • File
    파일의 유형을 확인하는 유틸리티가 포함되어 있습니다. 일부 패키지는 빌드 스크립트에 이 유틸리티가 필요합니다.
  • Findutils
    파일을 찾는 프로그램을 제공합니다. 많은 패키지의 빌드 스크립트에서 사용됩니다.
  • Flex
    텍스트의 패턴을 인식하는 프로그램을 생성하는 유틸리티가 포함되어 있습니다. lex(lexical analyzer) 프로그램의 GNU 버전입니다. 여러 LFS 패키지 빌드에 필요합니다.
  • Gawk
    텍스트 파일 조작을 위한 프로그램을 제공합니다. awk(Aho-Weinberg-Kernighan)의 GNU 버전입니다. 다른 많은 패키지의 빌드 스크립트에서 사용됩니다.
  • GCC
    컴파일러 컬렉션입니다. 여기에는 C 및 C++ 컴파일러와 LFS에서는 빌드하지 않는 여러 컴파일러가 포함되어 있습니다.
  • GDBM
    GNU 데이터베이스 관리자 라이브러리가 포함되어 있습니다. 다른 LFS 패키지인 Man-DB에서 사용됩니다.
  • Gettext
    많은 패키지의 국제화(I18N) 및 현지화(L10N)를 위한 유틸리티와 라이브러리를 제공합니다.
  • Glibc
    기본 C 라이브러리가 포함되어 있습니다. 이 패키지가 없으면 Linux 프로그램이 실행되지 않습니다.
  • GMP
    임의 정밀도 계산에 유용한 기능을 제공하는 수학 라이브러리를 제공합니다. GCC를 빌드하는 데 필요합니다.
  • Gperf
    키 집합에서 완벽한 해시 함수를 생성하는 프로그램을 생성합니다. Systemd에 필요합니다.
  • Grep
    파일 검색을 위한 프로그램이 포함되어 있습니다. 대부분의 패키지 빌드 스크립트에서 사용됩니다.
  • Groff
    텍스트 처리 및 서식을 지정하는 프로그램을 제공합니다. 이것의 중요한 기능 중 하나는 매뉴얼 페이지의 서식을 지정하는 것입니다.
  • GRUB
    GRand Unified Bootloader입니다. 여러 부트로더 중 가장 유연합니다.
  • Gzip
    파일 압축 및 압축 해제 프로그램이 포함되어 있습니다. LFS에서 패키지의 압축을 풀 때 필요합니다.
  • Iana
    네트워크 서비스 및 프로토콜에 대한 데이터를 제공합니다. 적절한 네트워크 기능을 활성화하는 데 필요합니다.
  • Inetutils
    기본 네트워크 관리를 위한 프로그램을 제공합니다.
  • Intltool
    소스 파일에서 번역 가능한 문자열을 추출하기 위한 도구를 제공합니다.
  • IProute2
    기본 및 고급 IPv4 및 IPv6 네트워크을 위한 프로그램이 포함되어 있습니다. 이 패키지는 다른 일반적인 네트워크 도구 패키지(net-tools)보다 IPv6 지원 기능 때문에 선택되었습니다.
  • Jinja2
    텍스트 템플릿을 위한 Python 모듈입니다. Systemd 빌드에 필요합니다.
  • Kbd
    키 테이블 파일, 미국 이외의 키보드용 키보드 유틸리티 및 여러 콘솔 글꼴을 생성합니다.
  • Kmod
    리눅스 커널 모듈을 관리하는 데 필요한 프로그램을 제공합니다.
  • Less
    파일을 볼 때 위아래로 스크롤할 수 있는 매우 멋진 텍스트 파일 뷰어가 포함되어 있습니다. 많은 패키지가 출력 페이저로 이 패키지를 사용합니다.
  • Libcap
    리눅스 커널에서 사용할 수 있는 POSIX 1003.1e 기능에 대한 사용자 공간 인터페이스를 구현합니다.
  • Libelf
    elfutils 프로젝트는 ELF 파일 및 DWARF 데이터를 위한 라이브러리와 도구를 제공합니다. 이 패키지의 대부분의 유틸리티는 다른 패키지에서 사용할 수 있지만 기본(그리고 가장 효율적인) 구성을 사용하여 리눅스 커널을 빌드하려면 이 라이브러리가 필요합니다.
  • Libffi
    다양한 호출 규칙에 대한 이식 가능한 고수준 프로그래밍 인터페이스를 구현합니다. 일부 프로그램은 컴파일 시 함수에 어떤 인수를 전달할지 모를 수 있습니다. 예를 들어, 인터프리터는 런타임에 주어진 함수를 호출하는 데 사용되는 인수의 수와 유형을 알 수 있습니다. 이러한 프로그램에서 Libffi를 사용하여 인터프리터 프로그램에서 컴파일된 코드로 연결을 제공할 수 있습니다.
  • Libpipeline
    유연하고 편리한 방식으로 서브프로세스의 파이프라인을 조작하기 위한 라이브러리를 제공합니다. Man-DB 패키지에 필요합니다.
  • Libtool
    GNU 일반 라이브러리 지원 스크립트가 포함되어 있습니다. 이 스크립트는 공유 라이브러리 사용의 복잡성을 일관되고 이식 가능한 인터페이스로 래핑합니다. 다른 LFS 패키지의 테스트 스위트에서 필요합니다.
  • Libxcrypt
    비밀번호 해싱을 위해 다양한 패키지(특히 Shadow)에 필요한 libcrypt 라이브러리를 제공합니다. 더 이상 사용되지 않는 Glibc의 libcrypt 구현을 대체합니다.
  • Linux Kernel
    운영 체제입니다. GNU/Linux 환경의 리눅스입니다.
  • M4
    다른 프로그램의 빌드 도구로 유용한 일반 텍스트 매크로 프로세서를 제공합니다.
  • Make
    패키지 빌드를 진행하는 프로그램이 포함되어 있습니다. LFS의 거의 모든 패키지에 필요합니다.
  • MarkupSafe
    HTML/XHTML/XML의 문자열을 안전하게 처리하기 위한 Python 모듈입니다. Jinja2에 필요합니다.
  • Man-DB
    man 페이지를 찾고 보기 위한 프로그램이 포함되어 있습니다. 국제화 기능이 뛰어나기 때문에 man 패키지 대신 선택되었습니다. 이 패키지는 man 프로그램을 제공합니다.
  • Man-pages
    기본 리눅스 매뉴얼 페이지의 실제적인 내용을 제공합니다.
  • Meson
    소프트웨어 빌드 자동화를 위한 소프트웨어 도구를 제공합니다. Meson의 주요 목표는 소프트웨어 개발자가 빌드 시스템을 구성하는 데 소요되는 시간을 최소화하는 것입니다. Systemd 및 많은 BLFS 패키지를 빌드하는 데 필요합니다.
  • MPC
    복소수에 대한 산술 함수를 제공합니다. GCC에 필요합니다.
  • MPFR
    배정밀도 산술을 위한 함수가 포함되어 있습니다. GCC에 필요합니다.
  • Ninja
    속도에 중점을 둔 소규모 빌드 시스템을 제공합니다. 상위 레벨 빌드 시스템에서 입력 파일을 생성하고 가능한 한 빠르게 빌드를 실행하도록 설계되었습니다. Meson에 필요합니다.
  • Ncurses
    터미널 독립적인 문자 화면 처리를 위한 라이브러리가 포함되어 있습니다. 메뉴형 시스템에서 커서 제어를 제공하는 데 자주 사용됩니다. LFS의 여러 패키지에 필요합니다.
  • Openssl
    암호화와 관련된 관리 도구와 라이브러리를 제공합니다. 리눅스 커널을 비롯한 다른 패키지에 암호화 기능을 제공합니다.
  • Patch
    일반적으로 diff 프로그램을 통해서 만든 패치 파일을 적용하여 파일을 수정하거나 생성하는 프로그램이 포함되어 있습니다. 여러 LFS 패키지의 빌드 절차에 필요합니다.
  • Perl
    런타임 언어 PERL 인터프리터입니다. 여러 LFS 패키지의 설치 및 테스트 스위트에 필요합니다.
  • Pkgconf
    개발 라이브러리의 컴파일러 및 링커 플래그를 구성하는 데 도움이 되는 프로그램이 포함되어 있습니다. 많은 패키지의 빌드 시스템에 필요한 pkg-config의 대체 프로그램으로 사용할 수 있습니다. 원래 Pkg-config 패키지보다 더 활발하게 유지 관리되고 약간 더 빠릅니다.
  • Procps-NG
    프로세스 모니터링용 프로그램이 포함되어 있습니다. 시스템 관리에 유용하며 LFS 부트스크립트에서도 사용됩니다.
  • Psmisc
    실행 중인 프로세스에 대한 정보를 표시하는 프로그램을 포함하고 있습니다. 시스템 관리에 유용합니다.
  • Python 3
    코드 가독성을 강조하는 디자인 철학을 가진 Python 인터프리터 언어를 제공합니다.
  • Readline
    명령줄 편집 및 히스토리 기능을 제공하는 라이브러리 세트입니다. Bash에서 사용합니다.
  • Sed
    명령줄에서 텍스트 편집기에서 텍스트를 열지 않고도 텍스트를 편집할 수 있습니다. 많은 LFS 패키지의 설정 스크립트에도 필요합니다.
  • Shadow
    비밀번호를 안전하게 처리하는 프로그램이 포함되어 있습니다.
  • Systemd
    Sysvinit의 대안으로 초기화 프로그램과 몇 가지 추가 부팅 및 시스템 제어 기능을 제공합니다. 많은 리눅스 배포판에서 사용됩니다.
  • Tar
    LFS에서 사용되는 거의 모든 패키지의 아카이브 및 추출 기능을 제공합니다.
  • Tcl
    많은 테스트 스위트에서 사용되는 Tool Command Language가 포함되어 있습니다.
  • Texinfo
    info 파일 읽기, 쓰기 및 변환을 위한 프로그램을 제공합니다. 많은 LFS 패키지의 설치 절차에 사용됩니다.
  • Util-linux
    기타 유틸리티 프로그램이 포함되어 있습니다. 여기에는 파일 시스템, 콘솔, 파티션 및 메시지를 처리하기 위한 유틸리티가 포함되어 있습니다.
  • Vim
    편집기를 제공합니다. 클래식 vi 편집기와의 호환성 및 수많은 강력한 기능 때문에 선택되었습니다. 편집기는 많은 사용자들에게 매우 개인적인 선택입니다. 원하는 경우 다른 편집기로 대체할 수 있습니다.
  • Wheel
    파이썬 휠 패키징 표준을 구현한 파이썬 모듈을 제공합니다.
  • XML::Parser
    Expat과 인터페이스를 제공하는 Perl 모듈입니다.
  • XZ Utils
    파일 압축 및 해제를 위한 프로그램이 포함되어 있습니다. 일반적으로 사용 가능한 가장 높은 압축을 제공하며 XZ 또는 LZMA 형식의 패키지를 압축 해제하는 데 유용합니다.
  • Zlib
    일부 프로그램에서 사용하는 압축 및 압축 해제 루틴이 포함되어 있습니다.
  • Zstd
    일부 프로그램에서 사용하는 압축 및 압축 해제 루틴을 제공합니다. 높은 압축률과 매우 광범위한 압축/속도 관련 선택을 제공합니다.
  • linuxfromscratch/12.1/006-rationale_for_packages_in_the_book.txt
  • 마지막으로 수정됨: 2024/06/13 10:12
  • 저자 baecy