OSDN Git Service

Update to lfsbook 7.2.ja
[linuxjf/JF.git] / docs / LFS-BOOK / prologue / package-choices.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4   <head>
5     <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
6     <title>
7       各パッケージを用いる理由
8     </title>
9     <link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
10     <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
11     <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
12     "text/css" media="print" />
13   </head>
14   <body class="lfs" id="lfs-7.2">
15     <div class="navheader">
16       <h4>
17         Linux From Scratch - Version 7.2
18       </h4>
19       <h3>
20         序文
21       </h3>
22       <ul>
23         <li class="prev">
24           <a accesskey="p" href="standards.html" title="LFS と各種標準">前のページ</a>
25           <p>
26             LFS と各種標準
27           </p>
28         </li>
29         <li class="next">
30           <a accesskey="n" href="prerequisites.html" title="必要な知識">次のページ</a>
31           <p>
32             必要な知識
33           </p>
34         </li>
35         <li class="up">
36           <a accesskey="u" href="preface.html" title="序文">上に戻る</a>
37         </li>
38         <li class="home">
39           <a accesskey="h" href="../index.html" title=
40           "Linux From Scratch - Version 7.2">ホーム</a>
41         </li>
42       </ul>
43     </div>
44     <div class="sect1" lang="ja" xml:lang="ja">
45       <h1 class="sect1">
46         <a id="pre-why" name="pre-why"></a>v. 各パッケージを用いる理由
47       </h1>
48       <p>
49         既に説明しているように LFS が目指すのは、完成した形での実用可能な基盤システムを構築することです。 LFS
50         に含まれるパッケージ群は、パッケージの個々を構築していくために必要となるものばかりです。
51         そこからは最小限の基盤となるシステムを作り出します。 そしてユーザーの望みに応じて、より完璧なシステムへと拡張していくものとなります。
52         LFS は極小システムを意味するわけではありません。 厳密には必要のないパッケージであっても、重要なものとして含んでいるものもあります。
53         以下に示す一覧は、本書内の各パッケージの採用根拠について説明するものです。
54       </p>
55       <div class="itemizedlist">
56         <ul>
57           <li>
58             <p>
59               Autoconf
60             </p>
61             <p>
62               このパッケージは、以下に示すようなシェルスクリプトを生成するプログラムを提供します。
63               つまり開発者が意図しているテンプレートに基づいて、ソースコードを自動的に設定する (configure する)
64               ためのシェルスクリプトです。
65               特定のパッケージのビルド方法に変更があった場合は、パッケージ再構築を行うことになるため、その場合に本パッケージが必要となります。
66             </p>
67           </li>
68           <li>
69             <p>
70               Automake
71             </p>
72             <p>
73               このパッケージは、テンプレートとなるファイルから Makefile を生成するためのプログラムを提供します。
74               特定のパッケージのビルド方法に変更があった場合は、パッケージ再構築を行うことになるため、その場合に本パッケージが必要となります。
75             </p>
76           </li>
77           <li>
78             <p>
79               Bash
80             </p>
81             <p>
82               このパッケージは、システムとのインターフェースを実現する Bourne シェルを提供し、LSB コア要件を満たします。
83               他のシェルを選ばずにこれを選ぶのは、一般的に多用されていることと、基本的なシェル関数においての拡張性が高いからです。
84             </p>
85           </li>
86           <li>
87             <p>
88               Binutils
89             </p>
90             <p>
91               このパッケージは、リンカー、アセンブラーのような、オブジェクトファイルを取り扱うプログラムを提供します。 各プログラムは
92               LFS における他のパッケージをコンパイルするために必要となり、さらに LFS
93               にて示される以外のパッケージでも必要となります。
94             </p>
95           </li>
96           <li>
97             <p>
98               Bison
99             </p>
100             <p>
101               このパッケージは yacc (Yet Another Compiler Compiler) の GNU
102               バージョンを提供します。 LFS において利用するプログラムの中に、これを必要とするものがあります。
103             </p>
104           </li>
105           <li>
106             <p>
107               Bzip2
108             </p>
109             <p>
110               このパッケージは、ファイルの圧縮、伸張 (解凍) を行うプログラムを提供します。 これは LFS パッケージの多くを伸張
111               (解凍) するために必要です。
112             </p>
113           </li>
114           <li>
115             <p>
116               Check
117             </p>
118             <p>
119               このパッケージは、他のプログラムに対するテストハーネス (test harness) を提供します。
120               これは一時的なツールチェーンにおいてのみインストールします。
121             </p>
122           </li>
123           <li>
124             <p>
125               Coreutils
126             </p>
127             <p>
128               このパッケージは、ファイルやディレクトリを参照あるいは操作するための基本的なプログラムを数多く提供します。
129               各プログラムはコマンドラインからの実行によりファイル制御を行うために必要です。 また LFS
130               におけるパッケージのインストールに必要となります。
131             </p>
132           </li>
133           <li>
134             <p>
135               DejaGNU
136             </p>
137             <p>
138               このパッケージは、他のプログラムをテストするフレームワークを提供します。
139               これは一時的なツールチェーンプログラムをインストールする際にだけ必要となります。
140             </p>
141           </li>
142           <li>
143             <p>
144               Diffutils
145             </p>
146             <p>
147               このパッケージは、ファイルやディレクトリ間の差異を表示するプログラムを提供します。
148               各プログラムはパッチを生成するために利用されます。 したがってパッケージのビルド時に利用されることが多々あります。
149             </p>
150           </li>
151           <li>
152             <p>
153               Expect
154             </p>
155             <p>
156               このパッケージは、スクリプトで作られた対話型プログラムを通じて、他のプログラムとのやりとりを行うプログラムを提供します。
157               通常は他のパッケージをテストするために利用します。 本書では一時的なツールチェーンの構築時にしかインストールしません。
158             </p>
159           </li>
160           <li>
161             <p>
162               E2fsprogs
163             </p>
164             <p>
165               このパッケージは ext2, ext3, ext4 の各ファイルシステムを取り扱うユーティリティを提供します。
166               各ファイルシステムは Linux がサポートする一般的なものであり、十分なテストが実施されているものです。
167             </p>
168           </li>
169           <li>
170             <p>
171               File
172             </p>
173             <p>
174               このパッケージは、指定されたファイルの種類を判別するユーティリティプログラムを提供します。
175               他のパッケージにおいて、ビルド時にこれを必要とするものもあります。
176             </p>
177           </li>
178           <li>
179             <p>
180               Findutils
181             </p>
182             <p>
183               このパッケージは、ファイルシステム上のファイルを検索するプログラムを提供します。
184               これは他のパッケージにて、ビルド時のスクリプトにおいて利用されています。
185             </p>
186           </li>
187           <li>
188             <p>
189               Flex
190             </p>
191             <p>
192               このパッケージは、テキスト内の特定パターンの認識プログラムを生成するユーティリティを提供します。 これは lex (字句解析;
193               lexical analyzer) プログラムの GNU 版です。 LFS
194               内の他のパッケージの中にこれを必要としているものがあります。
195             </p>
196           </li>
197           <li>
198             <p>
199               Gawk
200             </p>
201             <p>
202               このパッケージはテキストファイルを操作するプログラムを提供します。 プログラムは GNU 版の awk
203               (Aho-Weinberg-Kernighan) です。
204               これは他のパッケージにて、ビルド時のスクリプトにおいて利用されています。
205             </p>
206           </li>
207           <li>
208             <p>
209               Gcc
210             </p>
211             <p>
212               これは GNU コンパイラーコレクションパッケージです。 C コンパイラーと C++ コンパイラーを含みます。また LFS
213               ではビルドしないコンパイラーも含まれています。
214             </p>
215           </li>
216           <li>
217             <p>
218               GDBM
219             </p>
220             <p>
221               このパッケージは GNU データベースマネージャーライブラリを提供します。 LFS が扱う Man-DB
222               パッケージがこれを利用しています。
223             </p>
224           </li>
225           <li>
226             <p>
227               Gettext
228             </p>
229             <p>
230               このパッケージは、各種パッケージが国際化を行うために利用するユーティリティやライブラリを提供します。
231             </p>
232           </li>
233           <li>
234             <p>
235               Glibc
236             </p>
237             <p>
238               このパッケージは C ライブラリです。Linux 上のプログラムはこれがなければ動作させることができません。
239             </p>
240           </li>
241           <li>
242             <p>
243               GMP
244             </p>
245             <p>
246               このパッケージは数値演算ライブラリを提供するもので、任意精度演算 (arbitrary precision
247               arithmetic) についての有用な関数を含みます。 これは GCC をビルドするために必要です。
248             </p>
249           </li>
250           <li>
251             <p>
252               Grep
253             </p>
254             <p>
255               このパッケージはファイル内を検索するプログラムを提供します。
256               これは他のパッケージにて、ビルド時のスクリプトにおいて利用されています。
257             </p>
258           </li>
259           <li>
260             <p>
261               Groff
262             </p>
263             <p>
264               このパッケージは、テキストを処理し整形するプログラムをいくつか提供します。 重要なものプログラムとして man
265               ページを生成するものを含みます。
266             </p>
267           </li>
268           <li>
269             <p>
270               GRUB
271             </p>
272             <p>
273               これは Grand Unified Boot Loader です。
274               ブートローダーとして利用可能なものの中でも、これが最も柔軟性に富むものです。
275             </p>
276           </li>
277           <li>
278             <p>
279               Gzip
280             </p>
281             <p>
282               このパッケージは、ファイルの圧縮と伸張 (解凍) を行うプログラムを提供します。 LFS において、パッケージを伸張 (解凍)
283               するために必要です。
284             </p>
285           </li>
286           <li>
287             <p>
288               Iana-etc
289             </p>
290             <p>
291               このパッケージは、ネットワークサービスやプロトコルに関するデータを提供します。
292               ネットワーク機能を適切に有効なものとするために、これが必要です。
293             </p>
294           </li>
295           <li>
296             <p>
297               Inetutils
298             </p>
299             <p>
300               このパッケージは、ネットワーク管理を行う基本的なプログラム類を提供します。
301             </p>
302           </li>
303           <li>
304             <p>
305               IProute2
306             </p>
307             <p>
308               このパッケージは、IPv4、IPv6 による基本的な、あるいは拡張したネットワーク制御を行うプログラムを提供します。 IPv6
309               への対応があることから、よく使われてきたネットワークツールパッケージ (net-tools) に変わって採用されました。
310             </p>
311           </li>
312           <li>
313             <p>
314               Kbd
315             </p>
316             <p>
317               このパッケージは、米国以外のキーボードに対してのキーテーブルファイルやキーボードユーティリティを提供します。
318               また端末上のフォントも提供します。
319             </p>
320           </li>
321           <li>
322             <p>
323               Kmod
324             </p>
325             <p>
326               このパッケージは Linux カーネルモジュールを管理するために必要なプログラムを提供します。
327             </p>
328           </li>
329           <li>
330             <p>
331               Less
332             </p>
333             <p>
334               このパッケージはテキストファイルを表示する機能を提供するものであり、表示中にスクロールを可能とします。 また Man-DB
335               において man ページを表示する際にも利用されます。
336             </p>
337           </li>
338           <li>
339             <p>
340               Libtool
341             </p>
342             <p>
343               このパッケージは GNU の汎用的なライブラリに対してのサポートスクリプトを提供します。
344               これは、複雑な共有ライブラリの取り扱いを単純なものとし、移植性に優れた一貫した方法を提供します。 LFS
345               パッケージのテストスイートにおいて必要となります。
346             </p>
347           </li>
348           <li>
349             <p>
350               Linux Kernel
351             </p>
352             <p>
353               このパッケージは "オペレーティングシステム" であり GNU/Linux 環境における Linux です。
354             </p>
355           </li>
356           <li>
357             <p>
358               M4
359             </p>
360             <p>
361               このパッケージは汎用的なテキストマクロプロセッサーであり、他のプログラムを構築するツールとして利用することができます。
362             </p>
363           </li>
364           <li>
365             <p>
366               Make
367             </p>
368             <p>
369               このパッケージは、パッケージ構築を指示するプログラムを提供します。 LFS
370               におけるパッケージでは、ほぼすべてにおいて必要となります。
371             </p>
372           </li>
373           <li>
374             <p>
375               Man-DB
376             </p>
377             <p>
378               このパッケージは man ページを検索し表示するプログラムを提供します。 <span class=
379               "application">man</span>
380               パッケージではなく本パッケージを採用しているのは、その方が国際化機能が優れているためです。 このパッケージは man
381               プログラムを提供しています。
382             </p>
383           </li>
384           <li>
385             <p>
386               Man-pages
387             </p>
388             <p>
389               このパッケージは Linux の基本的な man ページを提供します。
390             </p>
391           </li>
392           <li>
393             <p>
394               MPC
395             </p>
396             <p>
397               このパッケージは複素数演算のための関数を提供します。 GCC パッケージがこれを必要としています。
398             </p>
399           </li>
400           <li>
401             <p>
402               MPFR
403             </p>
404             <p>
405               このパッケージは倍精度演算 (multiple precision) の関数を提供します。 GCC
406               パッケージがこれを必要としています。
407             </p>
408           </li>
409           <li>
410             <p>
411               Ncurses
412             </p>
413             <p>
414               このパッケージは、端末に依存せず文字キャラクターを取り扱うライブラリを提供します。
415               メニュー表示時のカーソル制御を実現する際に利用されます。 LFS の他のパッケージでは、たいていはこれを必要としています。
416             </p>
417           </li>
418           <li>
419             <p>
420               Patch
421             </p>
422             <p>
423               このパッケージは、<span class="emphasis"><em>パッチ</em></span>
424               ファイルの適用により、特定のファイルを修正したり新規生成したりするためのプログラムを提供します。 パッチファイルは
425               <span class="application">diff</span> プログラムにより生成されます。 LFS
426               パッケージの中には、構築時にこれを必要とするものがあります。
427             </p>
428           </li>
429           <li>
430             <p>
431               Perl
432             </p>
433             <p>
434               このパッケージは、ランタイムに利用されるインタープリター言語 PERL を提供します。 LFS
435               の他のパッケージでは、インストール時やテストスイートの実行時にこれを必要とするものがあります。
436             </p>
437           </li>
438           <li>
439             <p>
440               Pkg-config
441             </p>
442             <p>
443               このパッケージは、既にインストールされたライブラリやパッケージのメタデータを取得するプログラムを提供します。
444             </p>
445           </li>
446           <li>
447             <p>
448               Popt
449             </p>
450             <p>
451               このパッケージは、コマンドライン入力を処理するプログラムがライブラリを利用しています。
452             </p>
453           </li>
454           <li>
455             <p>
456               Procps
457             </p>
458             <p>
459               このパッケージは、プロセスの監視を行うプログラムを提供します。 システム管理にはこのパッケージが必要となります。 また LFS
460               ブートスクリプトではこれを利用しています。
461             </p>
462           </li>
463           <li>
464             <p>
465               Psmisc
466             </p>
467             <p>
468               このパッケージは、実行中のプロセスに関する情報を表示するプログラムを提供します。
469               システム管理にはこのパッケージが必要となります。
470             </p>
471           </li>
472           <li>
473             <p>
474               Readline
475             </p>
476             <p>
477               このパッケージは、コマンドライン上での入力編集や履歴管理を行うライブラリを提供します。 これは Bash が利用しています。
478             </p>
479           </li>
480           <li>
481             <p>
482               Sed
483             </p>
484             <p>
485               このパッケージは、テキストの編集を、テキストエディターを用いることなく可能とします。 LFS パッケージにおける
486               configure スクリプトは、たいていこれを必要としています。
487             </p>
488           </li>
489           <li>
490             <p>
491               Shadow
492             </p>
493             <p>
494               このパッケージは、セキュアな手法によりパスワード制御を行うプログラムを提供します。
495             </p>
496           </li>
497           <li>
498             <p>
499               Sysklogd
500             </p>
501             <p>
502               このパッケージは、システムメッセージログを扱うプログラムを提供します。
503               例えばカーネルが出力するログや、デーモンプロセスが異常発生時に出力するログなどです。
504             </p>
505           </li>
506           <li>
507             <p>
508               Sysvinit
509             </p>
510             <p>
511               このパッケージは <span class="application">init</span> プログラムを提供します。 これは
512               Linux システム上のすべてのプロセスの基点となるものです。
513             </p>
514           </li>
515           <li>
516             <p>
517               Tar
518             </p>
519             <p>
520               このパッケージは、アーカイブや圧縮機能を提供するもので LFS が扱うすべてのパッケージにて利用されています。
521             </p>
522           </li>
523           <li>
524             <p>
525               Tcl
526             </p>
527             <p>
528               このパッケージはツールコマンド言語 (Tool Command Language) を提供します。 LFS
529               が扱うパッケージにてテストスイートの実行に必要となります。 これは一時的なツールチェーンの構築時にのみインストールします。
530             </p>
531           </li>
532           <li>
533             <p>
534               Texinfo
535             </p>
536             <p>
537               このパッケージは Info ページに関しての入出力や変換を行うプログラムを提供します。 LFS
538               が扱うパッケージのインストール時には、たいてい利用されます。
539             </p>
540           </li>
541           <li>
542             <p>
543               Udev
544             </p>
545             <p>
546               このパッケージはデバイスノードの動的生成を行うプログラムを提供します。 /dev
547               ディレクトリに、デバイスを静的にいくつも作り出す方法を取らないためのものです。
548             </p>
549           </li>
550           <li>
551             <p>
552               Util-linux
553             </p>
554             <p>
555               このパッケージは数多くのユーティリティプログラムを提供します。
556               その中には、ファイルシステムやコンソール、パーティション、メッセージなどを取り扱うユーティリティがあります。
557             </p>
558           </li>
559           <li>
560             <p>
561               Vim
562             </p>
563             <p>
564               このパッケージはテキストエディターを提供します。 これを採用しているのは、従来の vi
565               エディタとの互換性があり、しかも数々の有用な機能を提供するものだからです。
566               テキストエディターは個人により好みはさまざまですから、もし別のエディターを利用したいなら、そちらを用いても構いません。
567             </p>
568           </li>
569           <li>
570             <p>
571               XZ Utils
572             </p>
573             <p>
574               このパッケージはファイルの圧縮、伸張 (解凍) を行うプログラムを提供します。
575               一般的に用いられるものの中では高い圧縮率を実現するものであり、特に XZ フォーマットや LZMA フォーマットの伸張
576               (解凍) に利用されます。
577             </p>
578           </li>
579           <li>
580             <p>
581               Zlib
582             </p>
583             <p>
584               このパッケージは、圧縮や解凍の機能を提供するもので、他のプログラムがこれを利用しています。
585             </p>
586           </li>
587         </ul>
588       </div>
589     </div>
590     <div class="navfooter">
591       <ul>
592         <li class="prev">
593           <a accesskey="p" href="standards.html" title="LFS と各種標準">前のページ</a>
594           <p>
595             LFS と各種標準
596           </p>
597         </li>
598         <li class="next">
599           <a accesskey="n" href="prerequisites.html" title="必要な知識">次のページ</a>
600           <p>
601             必要な知識
602           </p>
603         </li>
604         <li class="up">
605           <a accesskey="u" href="preface.html" title="序文">上に戻る</a>
606         </li>
607         <li class="home">
608           <a accesskey="h" href="../index.html" title=
609           "Linux From Scratch - Version 7.2">ホーム</a>
610         </li>
611       </ul>
612     </div>
613   </body>
614 </html>