% % 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