%
% This is part of LFSbookja package.
%
% This is a CTIE change file for the original XML source of the LFSbook.
%
@x
@y
@z
@x
Rationale for Packages in the Book
@y
各パッケージを用いる理由
@z
@x
As stated earlier, the goal of LFS is to build a complete and usable
foundation-level system. This includes all packages needed to replicate
itself while providing a relatively minimal base from which to customize
a more complete system based on the choices of the user. This does not
mean that LFS is the smallest system possible. Several important packages
are included that are not strictly required. The lists below document the
rationale for each package in the book.
@y
既に説明しているように LFS が目指すのは、完成した形での実用可能な基盤システムを構築することです。
LFS に含まれるパッケージ群は、パッケージの個々を構築していくために必要となるものばかりです。
そこからは最小限の基盤となるシステムを作り出します。
そしてユーザーの望みに応じて、より完璧なシステムへと拡張していくものとなります。
LFS は極小システムを意味するわけではありません。
厳密には必要のないパッケージであっても、重要なものとして含んでいるものもあります。
以下に示す一覧は、本書内の各パッケージの採用根拠について説明するものです。
@z
@x Acl
This package contains utilities to administer Access
Control Lists, which are used to define more fine-grained
discretionary access rights for files and directories.
@y
このパッケージはアクセス制御リスト (Access Control Lists) を管理するツールを提供します。
これはファイルやディレクトリに対して、きめ細かく様々なアクセス権限を定義するために利用されます。
@z
@x Attr
This package contains programs for administering
extended attributes on filesystem objects.
@y
このパッケージはファイルシステムオブジェクト上の拡張属性を管理するプログラムを提供します。
@z
@x Autoconf
This package contains programs for producing shell scripts that
can automatically configure source code from a developer's
template. It is often needed to rebuild a package after updates
to the build procedures.
@y
このパッケージは、以下に示すようなシェルスクリプトを生成するプログラムを提供します。
つまり開発者が意図しているテンプレートに基づいて、ソースコードを自動的に設定する (configure する) ためのシェルスクリプトです。
特定のパッケージのビルド方法に変更があった場合は、パッケージ再構築を行うことになるため、その場合に本パッケージが必要となります。
@z
@x Automake
This package contains programs for generating Make files from
a template. It is often needed to rebuild a package after updates
to the build procedures.
@y
このパッケージは、テンプレートとなるファイルから Makefile を生成するためのプログラムを提供します。
特定のパッケージのビルド方法に変更があった場合は、パッケージ再構築を行うことになるため、その場合に本パッケージが必要となります。
@z
@x Bash
This package satisfies an LSB core requirement to provide
a Bourne Shell interface to the system. It was chosen over
other shell packages because of its common usage and extensive
capabilities beyond basic shell functions.
@y
このパッケージは、システムとのインターフェースを実現する Bourne シェルを提供し、LSB コア要件を満たします。
他のシェルを選ばずにこれを選ぶのは、一般的に多用されていることと、基本的なシェル関数においての拡張性が高いからです。
@z
@x Bc
This package provides an arbitrary precision numeric processing language.
It satisfies a requirement needed when building the Linux kernel.
@y
このパッケージは、任意精度 (arbitrary precision) の演算処理言語を提供します。
Linux カーネルの構築に必要となります。
@z
@x Binutils
This package contains a linker, an assembler, and other
tools for handling object files. The programs in this package are
needed to compile most of the packages in an LFS system and beyond.
@y
このパッケージは、リンカー、アセンブラーのような、オブジェクトファイルを取り扱うプログラムを提供します。
各プログラムは LFS における他のパッケージをコンパイルするために必要となり、さらに LFS にて示される以外のパッケージでも必要となります。
@z
@x Bison
This package contains the GNU version of yacc (Yet Another
Compiler Compiler) needed to build several other LFS programs.
@y
このパッケージは yacc (Yet Another Compiler Compiler) の GNU バージョンを提供します。
LFS において利用するプログラムの中に、これを必要とするものがあります。
@z
@x Bzip2
This package contains programs for compressing and decompressing
files. It is required to decompress many LFS packages.
@y
このパッケージは、ファイルの圧縮、伸張 (解凍) を行うプログラムを提供します。
これは LFS パッケージの多くを伸張 (解凍) するために必要です。
@z
@x Check
This package contains a test harness for other programs.
@y
このパッケージは、他のプログラムに対するテストハーネス (test harness) を提供します。
@z
@x Coreutils
This package contains a number of essential programs for viewing
and manipulating files and directories. These programs are needed for
command line file management, and are necessary for the installation
procedures of every package in LFS.
@y
このパッケージは、ファイルやディレクトリを参照あるいは操作するための基本的なプログラムを数多く提供します。
各プログラムはコマンドラインからの実行によりファイル制御を行うために必要です。
また LFS におけるパッケージのインストールに必要となります。
@z
@x D-Bus
This package contains programs to implement a message bus system,
which a simple way for applications to talk to one another.
@y
このパッケージはメッセージバスシステムを実装しています。
これはアプリケーション間での通信手段を容易にするものです。
@z
@x DejaGNU
This package contains a framework for testing other programs.
@y
このパッケージは、他のプログラムをテストするフレームワークを提供します。
@z
@x Diffutils
This package contains programs that show the differences
between files or directories. These programs can be used to create
patches, and are also used in many packages' build procedures.
@y
このパッケージは、ファイルやディレクトリ間の差異を表示するプログラムを提供します。
各プログラムはパッチを生成するために利用されます。
したがってパッケージのビルド時に利用されることが多々あります。
@z
@x E2fsprogs
This package contains the utilities for handling the ext2, ext3
and ext4 file systems. These are the most common and thoroughly
tested file systems that Linux supports.
@y
このパッケージは ext2, ext3, ext4 の各ファイルシステムを取り扱うユーティリティを提供します。
各ファイルシステムは Linux がサポートする一般的なものであり、十分なテストが実施されているものです。
@z
@x Eudev
This package is a device manager. It dynamically controls the ownership,
permissions, names, and symbolic links of devices in the /dev directory as
devices are added or removed from the system.
@y
このパッケージはデバイスマネージャーです。
/dev ディレクトリに登録されたデバイスの所有者、パーミッション、名称、シンボリックリンクを動的に制御します。
これによりデバイスは、システムへの追加または削除が行われます。
@z
@x Expat
This package contains a relatively small XML parsing library. It
is required by the XML::Parser Perl module.
@y
このパッケージは比較的小規模の XML 解析ライブラリを提供します。
XML-Parser Perl モジュールがこれを必要とします。
@z
@x Expect
This package contains a program for carrying out scripted
dialogues with other interactive programs. It is commonly used
for testing other packages.
@y
このパッケージは、スクリプトで作られた対話型プログラムを通じて、他のプログラムとのやりとりを行うプログラムを提供します。
通常は他のパッケージをテストするために利用します。
@z
@x File
This package contains a utility for determining the type of a
given file or files. A few packages need it in their build scripts.
@y
このパッケージは、指定されたファイルの種類を判別するユーティリティプログラムを提供します。
他のパッケージのビルドスクリプト内にてこれを必要とするものもあります。
@z
@x Findutils
This package contains programs to find files in a file system.
It is used in many packages' build scripts.
@y
このパッケージは、ファイルシステム上のファイルを検索するプログラムを提供します。
これは他のパッケージにて、ビルド時のスクリプトにおいて利用されています。
@z
@x Flex
This package contains a utility for generating programs that
recognize patterns in text. It is the GNU version of the lex
(lexical analyzer) program. It is required to build several
LFS packages.
@y
このパッケージは、テキスト内の特定パターンの認識プログラムを生成するユーティリティを提供します。
これは lex (字句解析; lexical analyzer) プログラムの GNU 版です。
LFS 内の他のパッケージの中にこれを必要としているものがあります。
@z
@x Gawk
This package contains programs for manipulating text files.
It is the GNU version of awk (Aho-Weinberg-Kernighan). It is used in
many other packages' build scripts.
@y
このパッケージはテキストファイルを操作するプログラムを提供します。
プログラムは GNU 版の awk (Aho-Weinberg-Kernighan) です。
これは他のパッケージにて、ビルド時のスクリプトにおいて利用されています。
@z
@x Gcc
This package is the Gnu Compiler Collection. It contains the
C and C++ compilers as well as several others not built by LFS.
@y
これは GNU コンパイラーコレクションパッケージです。
C コンパイラーと C++ コンパイラーを含みます。また LFS ではビルドしないコンパイラーも含まれています。
@z
@x GDBM
This package contains the GNU Database Manager library. It
is used by one other LFS package, Man-DB.
@y
このパッケージは GNU データベースマネージャーライブラリを提供します。
LFS が扱う Man-DB パッケージがこれを利用しています。
@z
@x Gettext
This package contains utilities and libraries for
internationalization and localization of numerous packages.
@y
このパッケージは、各種パッケージが国際化を行うために利用するユーティリティやライブラリを提供します。
@z
@x Glibc
This package contains the main C library. Linux programs will
not run without it.
@y
このパッケージは C ライブラリです。Linux 上のプログラムはこれがなければ動作させることができません。
@z
@x GMP
This package contains math libraries that provide useful functions
for arbitrary precision arithmetic. It is required to build GCC.
@y
このパッケージは数値演算ライブラリを提供するもので、任意精度演算 (arbitrary precision arithmetic) についての有用な関数を含みます。
これは GCC をビルドするために必要です。
@z
@x Gperf
This package contains a program that generates a perfect hash
function from a key set. It is required for Eudev.
@y
このパッケージは、キーセットから完全なハッシュ関数を生成するプログラムを提供します。
Eudev がこれを必要としています。
@z
@x Grep
This package contains programs for searching through files. These
programs are used by most packages' build scripts.
@y
このパッケージはファイル内を検索するプログラムを提供します。
これは他のパッケージにて、ビルド時のスクリプトにおいて利用されています。
@z
@x Groff
This package contains programs for processing and formatting text.
One important function of these programs is to format man pages.
@y
このパッケージは、テキストを処理し整形するプログラムをいくつか提供します。
重要なものプログラムとして man ページを生成するものを含みます。
@z
@x GRUB
This package is the Grand Unified Boot Loader. It is one
of several boot loaders available, but is the most flexible.
@y
これは Grand Unified Boot Loader です。
ブートローダーとして利用可能なものの中でも、これが最も柔軟性に富むものです。
@z
@x Gzip
This package contains programs for compressing and
decompressing files. It is needed to decompress many packages in LFS
and beyond.
@y
このパッケージは、ファイルの圧縮と伸張 (解凍) を行うプログラムを提供します。
LFS において、パッケージを伸張 (解凍) するために必要です。
@z
@x Iana-etc
This package provides data for network services and protocols.
It is needed to enable proper networking capabilities.
@y
このパッケージは、ネットワークサービスやプロトコルに関するデータを提供します。
ネットワーク機能を適切に有効なものとするために、これが必要です。
@z
@x Inetutils
This package contains programs for basic network
administration.
@y
このパッケージは、ネットワーク管理を行う基本的なプログラム類を提供します。
@z
@x Intltools
This package contains tools for extracting translatable
strings from source files.
@y
本パッケージはソースファイルから翻訳対象となる文字列を抽出するツールを提供します。
@z
@x IProute2
This package contains programs for basic and advanced IPv4 and
IPv6 networking. It was chosen over the other common network
tools package (net-tools) for its IPv6 capabilities.
@y
このパッケージは、IPv4、IPv6 による基本的な、あるいは拡張したネットワーク制御を行うプログラムを提供します。
IPv6 への対応があることから、よく使われてきたネットワークツールパッケージ (net-tools) に変わって採用されました。
@z
@x jinja2
This package is a Python module for text templating.
It's required to build Systemd.
@y
このパッケージは、テキストテンプレート処理を行う Python モジュールです。
Systemd のビルドに必要となります。
@z
@x Kbd
This package contains key-table files, keyboard utilities
for non-US keyboards, and a number of console fonts.
@y
このパッケージは、米国以外のキーボードに対してのキーテーブルファイルやキーボードユーティリティを提供します。
また端末上のフォントも提供します。
@z
@x Kmod
This package contains programs needed to administer Linux
kernel modules.
@y
このパッケージは Linux カーネルモジュールを管理するために必要なプログラムを提供します。
@z
@x Less
This package contains a very nice text file viewer that
allows scrolling up or down when viewing a file. It is also used by
Man-DB for viewing manpages.
@y
このパッケージはテキストファイルを表示する機能を提供するものであり、表示中にスクロールを可能とします。
また Man-DB において man ページを表示する際にも利用されます。
@z
@x Libcap
This package implements the user-space interfaces to
the POSIX 1003.1e capabilities available in Linux kernels.
@y
このパッケージは Linux カーネルにて利用される POSIX 1003.1e 機能へのユーザー空間からのインターフェースを実装します。
@z
@x Libelf
The elfutils project provides libraries and tools for ELF files
and DWARF data. Most utilities in this package are available in
other packages, but the library is needed to build the Linux
kernel using the default (and most efficient) configuration.
@y
elfutils プロジェクトでは、ELF ファイルや DWARF データに対するライブラリやツールを提供しています。
他のパッケージに対して各種ユーティリティーは有用なものですが、ライブラリは Linux カーネルのビルドに必要であり、デフォルトの(最も効果的な)カーネル設定にて利用されます。
@z
@x Libffi
This package implements a portable, high level programming
interface to various calling conventions. Some programs may not know
at the time of compilation what arguments are to be passed to a
function. For instance, an interpreter may be told at run-time about
the number and types of arguments used to call a given function. Libffi
can be used in such programs to provide a bridge from the interpreter
program to compiled code.
@y
このパッケージは、さまざまな呼出規約(calling conventions)に対しての、移植性に優れた高レベルプログラミングインターフェースを提供します。
プログラムをコンパイルするその時点においては、関数に対してどのような引数が与えられるかが分からない場合があります。
例えばインタープリターの場合、特定の関数を呼び出す際の引数の数や型は、実行時に指定されます。
libffi はそういうプログラムであっても、インタープリタープログラムからコンパイルコードへのブリッジを提供します。
@z
@x Libpipeline
The Libpipeline package contains a library for manipulating
pipelines of subprocesses in a flexible and convenient way. It is
required by the Man-DB package.
@y
Libpipeline パッケージは、サブプロセスのパイプラインを柔軟にかつ容易に操作するライブラリを提供します。
これは Man-DB パッケージが必要としています。
@z
@x Libtool
This package contains the GNU generic library support
script. It wraps the complexity of using shared libraries in a
consistent, portable interface. It is needed by the test
suites in other LFS packages.
@y
このパッケージは GNU の汎用的なライブラリに対してのサポートスクリプトを提供します。
これは、複雑な共有ライブラリの取り扱いを単純なものとし、移植性に優れた一貫した方法を提供します。
LFS パッケージのテストスイートにおいて必要となります。
@z
@x Linux Kernel
This package is the Operating System. It is the Linux in
the GNU/Linux environment.
@y
このパッケージは "オペレーティングシステム" であり GNU/Linux 環境における Linux です。
@z
@x M4
This package contains a general text macro processor useful
as a build tool for other programs.
@y
このパッケージは汎用的なテキストマクロプロセッサーであり、他のプログラムを構築するツールとして利用することができます。
@z
@x Make
This package contains a program for directing the building
of packages. It is required by almost every package in LFS.
@y
このパッケージは、パッケージ構築を指示するプログラムを提供します。
LFS におけるパッケージでは、ほぼすべてにおいて必要となります。
@z
@x MarkupSafe
This package is a Python module for processing strings in
HTML/XHTML/XML safely. Jinja2 requires this package.
@y
このパッケージは、HTML/XHTML/XML 内の文字列を安全に処理するための Python モジュールです。
Jinja2 がこのパッケージを必要としています。
@z
@x Man-DB
This package contains programs for finding and viewing man pages.
It was chosen instead of the man package
due to superior internationalization capabilities. It supplies
the man program.
@y
このパッケージは man ページを検索し表示するプログラムを提供します。
man パッケージではなく本パッケージを採用しているのは、その方が国際化機能が優れているためです。
このパッケージは man プログラムを提供しています。
@z
@x Man-pages
This package contains the actual contents of the basic
Linux man pages.
@y
このパッケージは Linux の基本的な man ページを提供します。
@z
@x Meson
This package provides a software tool for automating the building
of software. The main goal for Meson is to minimize the amount of time
that software developers need to spend configuring their build
system. It's required to build Systemd, as well as many BLFS
packages.
@y
このパッケージは、ソフトウェアを自動的にビルドするソフトウエアツールを提供します。
Meson が目指すのは、ソフトウェア開発者がビルドシステムの設定にかける時間を、できるだけ減らすことにあります。
これは Systemd のビルドに必要であり、また BLFS における多くのパッケージにも必要です。
@z
@x MPC
This package contains functions for the arithmetic of complex
numbers. It is required by GCC.
@y
このパッケージは複素数演算のための関数を提供します。
GCC パッケージがこれを必要としています。
@z
@x MPFR
This package contains functions for multiple precision
arithmetic. It is required by GCC.
@y
このパッケージは倍精度演算 (multiple precision) の関数を提供します。
GCC パッケージがこれを必要としています。
@z
@x Ninja
This package contains a small build system with a focus on speed.
It is designed to have its input files generated by a higher-level build
system, and to run builds as fast as possible.
This package is required by Meson.
@y
このパッケージは、処理速度を重視した軽量なビルドシステムを提供します。
高レベルなビルドシステムが生成したファイルを入力として、ビルド実行をできるだけ高速に行うように設計されています。
このパッケージは Meson が必要としています。
@z
@x Ncurses
This package contains libraries for terminal-independent
handling of character screens. It is often used to provide
cursor control for a menuing system. It is needed by a number of
packages in LFS.
@y
このパッケージは、端末に依存せず文字キャラクターを取り扱うライブラリを提供します。
メニュー表示時のカーソル制御を実現する際に利用されます。
LFS の他のパッケージでは、たいていはこれを必要としています。
@z
@x Openssl
This package provides management tools and libraries relating to
cryptography. These are useful for providing cryptographic functions to
other packages, including the Linux kernel.
@y
このパッケージは暗号化に関する管理ツールやライブラリを提供します。
Linux カーネルや他のパッケージに対して、暗号化機能を提供するものとして有用です。
@z
@x Patch
This package contains a program for modifying or creating files by
applying a patch file typically created
by the diff program. It is needed by
the build procedure for several LFS packages.
@y
このパッケージは、パッチ ファイルの適用により、特定のファイルを修正したり新規生成したりするためのプログラムを提供します。
パッチファイルは diff プログラムにより生成されます。
LFS パッケージの中には、構築時にこれを必要とするものがあります。
@z
@x Perl
This package is an interpreter for the runtime language
PERL. It is needed for the installation and test suites of several LFS
packages.
@y
このパッケージは、ランタイムに利用されるインタープリター言語 PERL を提供します。
LFS の他のパッケージでは、インストール時やテストスイートの実行時にこれを必要とするものがあります。
@z
@x Pkg-config
This package provides a program that returns meta-data about an
installed library or package.
@y
このパッケージは、既にインストールされたライブラリやパッケージのメタデータを取得するプログラムを提供します。
@z
@x Procps
This package contains programs for monitoring processes. These
programs are useful for system administration, and are also used by
the LFS Bootscripts.
@y
このパッケージは、プロセスの監視を行うプログラムを提供します。
システム管理にはこのパッケージが必要となります。
また LFS ブートスクリプトではこれを利用しています。
@z
@x Psmisc
This package contains programs for displaying information
about running processes. These programs are useful for system
administration.
@y
このパッケージは、実行中のプロセスに関する情報を表示するプログラムを提供します。
システム管理にはこのパッケージが必要となります。
@z
@x Python 3
This package provides an interpreted language that has a design
philosophy that emphasizes code readability.
@y
このパッケージは、ソースコードの可読性の向上を意図して開発されたインタープリター言語を提供します。
@z
@x Readline
This package is a set of libraries that offers command-line
editing and history capabilities. It is used by Bash.
@y
このパッケージは、コマンドライン上での入力編集や履歴管理を行うライブラリを提供します。
これは Bash が利用しています。
@z
@x Sed
This package allows editing of text without opening it in a
text editor. It is also needed by most LFS packages' configure
scripts.
@y
このパッケージは、テキストの編集を、テキストエディターを用いることなく可能とします。
LFS パッケージにおける configure スクリプトは、たいていこれを必要としています。
@z
@x Shadow
This package contains programs for handling passwords
in a secure way.
@y
このパッケージは、セキュアな手法によりパスワード制御を行うプログラムを提供します。
@z
@x Sysklogd
This package contains programs for logging system messages,
such as those given by the kernel or daemon processes when unusual
events occur.
@y
このパッケージは、システムメッセージログを扱うプログラムを提供します。
例えばカーネルが出力するログや、デーモンプロセスが異常発生時に出力するログなどです。
@z
@x Systemd
This package provides an init program
and several additional boot and system control capabilities as an
alternative to Sysvinit. It is used by many commercial distributions.
@y
このパッケージは Sysvinit の代替として、init プログラムなど数種のプログラムにより、システム起動やシステム制御を実現します。
商用ディストリビューションにおいてもよく利用されています。
@z
@x Sysvinit
This package provides the init
program, which is the parent of all other processes on the Linux
system.
@y
このパッケージは init プログラムを提供します。
これは Linux システム上のすべてのプロセスの基点となるものです。
@z
@x Tar
This package provides archiving and extraction capabilities
of virtually all packages used in LFS.
@y
このパッケージは、アーカイブや圧縮機能を提供するもので LFS が扱うすべてのパッケージにて利用されています。
@z
@x Tcl
This package contains the Tool Command Language used
in many test suites in LFS packages.
@y
このパッケージはツールコマンド言語 (Tool Command Language) を提供します。
LFS が扱うパッケージにてテストスイートの実行に必要となります。
@z
@x Texinfo
This package contains programs for reading, writing, and
converting info pages. It is used in the installation
procedures of many LFS packages.
@y
このパッケージは Info ページに関しての入出力や変換を行うプログラムを提供します。
LFS が扱うパッケージのインストール時には、たいてい利用されます。
@z
% @x Udev
% This package contains programs for dynamic creation of
% device nodes. It is an alternative to creating thousands of
% static devices in the /dev directory.
% @y
%
% このパッケージはデバイスノードの動的生成を行うプログラムを提供します。
% /dev ディレクトリに、デバイスを静的にいくつも作り出す方法を取らないためのものです。
%
% @z
@x Util-linux-ng
This package contains miscellaneous utility programs.
Among them are utilities for handling file systems, consoles,
partitions, and messages.
@y
このパッケージは数多くのユーティリティプログラムを提供します。
その中には、ファイルシステムやコンソール、パーティション、メッセージなどを取り扱うユーティリティがあります。
@z
@x Wheel
This package contains a Python module that is the
reference implementation of the Python wheel packaging standard.
@y
このパッケージは Python wheel パッケージング標準に基づいた標準実装の Python モジュールを提供します。
@z
@x Vim
This package contains an editor. It was chosen because of its
compatibility with the classic vi editor and its huge number of powerful
capabilities. An editor is a very personal choice for
many users and any other editor could be substituted if desired.
@y
このパッケージはテキストエディターを提供します。
これを採用しているのは、従来の vi エディタとの互換性があり、しかも数々の有用な機能を提供するものだからです。
テキストエディターは個人により好みはさまざまですから、もし別のエディターを利用したいなら、そちらを用いても構いません。
@z
@x XML::Parser
This package is a Perl module that interfaces with Expat.
@y
このパッケージは Expat とのインターフェースを実現する Perl モジュールです。
@z
@x Xz utils
This package contains programs for compressing and decompressing
files. It provides the highest compression generally available
and is useful for decompressing packages in XZ or LZMA format.
@y
このパッケージはファイルの圧縮、伸張 (解凍) を行うプログラムを提供します。
一般的に用いられるものの中では高い圧縮率を実現するものであり、特に XZ フォーマットや LZMA フォーマットの伸張 (解凍) に利用されます。
@z
@x Zlib
This package contains compression and decompression routines
used by some programs.
@y
このパッケージは、圧縮や解凍の機能を提供するもので、他のプログラムがこれを利用しています。
@z
@x Zstd
This package contains compression and decompression routines
used by some programs. It provides high compression ratios and a very
wide range of compression / speed trade-offs.
@y
このパッケージは、一定のプログラムが利用している圧縮、伸張(解凍)ルーチンを提供します。
高圧縮率に加えて、圧縮、処理速度間のトレードオフを広範囲に提供します。
@z