OSDN Git Service

update to lfsbook 6.8.ja
[linuxjf/JF.git] / docs / LFS-BOOK / chapter06 / chroot.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       6.4. Chroot 環境への移行
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-6.8">
15     <div class="navheader">
16       <h4>
17         Linux From Scratch - Version 6.8
18       </h4>
19       <h3>
20         第6章 基本的なソフトウェアのインストール
21       </h3>
22       <ul>
23         <li class="prev">
24           <a accesskey="p" href="pkgmgt.html" title="パッケージ管理">前のページ</a>
25           <p>
26             パッケージ管理
27           </p>
28         </li>
29         <li class="next">
30           <a accesskey="n" href="creatingdirs.html" title=
31           "ディレクトリの生成">次のページ</a>
32           <p>
33             ディレクトリの生成
34           </p>
35         </li>
36         <li class="up">
37           <a accesskey="u" href="chapter06.html" title=
38           "第6章 基本的なソフトウェアのインストール">上に戻る</a>
39         </li>
40         <li class="home">
41           <a accesskey="h" href="../index.html" title=
42           "Linux From Scratch - Version 6.8">ホーム</a>
43         </li>
44       </ul>
45     </div>
46     <div class="sect1" lang="ja" xml:lang="ja">
47       <h1 class="sect1">
48         <a id="ch-system-chroot" name="ch-system-chroot"></a>6.4. Chroot
49         環境への移行
50       </h1>
51       <p>
52         chroot 環境に入って最終的な LFS システムの構築、インストールを行っていきます。 <code class=
53         "systemitem">root</code> ユーザーになって以下のコマンドを実行します。 chroot
54         環境内は、この時点では一時的なツール類のみが利用可能な状態です。
55       </p>
56       <pre class="userinput">
57 <kbd class="command">chroot "$LFS" /tools/bin/env -i \
58     HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
59     PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
60     /tools/bin/bash --login +h</kbd>
61 </pre>
62       <p>
63         <span class="command"><strong>env</strong></span> コマンドの <em class=
64         "parameter"><code>-i</code></em> パラメータは、chroot 環境での変数定義をすべてクリアするものです。
65         そして <code class="envar">HOME</code>, <code class="envar">TERM</code>,
66         <code class="envar">PS1</code>, <code class="envar">PATH</code>
67         という変数だけここで定義し直します。 <em class="parameter"><code>TERM=$TERM</code></em>
68         は chroot 環境に入る前と同じ値を <code class="envar">TERM</code> 変数に与えます。 この設定は
69         <span class="command"><strong>vim</strong></span> や <span class=
70         "command"><strong>less</strong></span>
71         のようなプログラムの処理が適切に行われるために必要となります。 これ以外の変数として <code class=
72         "envar">CFLAGS</code> や <code class="envar">CXXFLAGS</code>
73         などが必要であれば、ここで定義しておくと良いでしょう。
74       </p>
75       <p>
76         ここから先は <code class="envar">LFS</code> 変数は不要となります。 すべての作業は LFS
77         ファイル・システム内で行っていくことになるからです。 起動される Bash シェルは <code class=
78         "filename">$LFS</code> ディレクトリがルート (<code class="filename">/</code>
79         ディレクトリ) となって動作します。
80       </p>
81       <p>
82         <code class="filename">/tools/bin</code> が <code class=
83         "envar">PATH</code> 変数内の最後に加わっています。
84         一時的なツール類は、それぞれの正式版がインストールされていくに従って使われなくなります。 これがうまく動作するのは
85         <span class="command"><strong>bash</strong></span> の <em class=
86         "parameter"><code>+h</code></em>
87         オプションを用いることによってハッシュ機能をオフにしているからであり、実行モジュールの場所を覚えておく機能を無効にしているからです。
88       </p>
89       <p>
90         <span class="command"><strong>bash</strong></span> のプロンプトに
91         <code class="computeroutput">I have no name!</code> と表示されますがこれは正常です。
92         この時点ではまだ <code class="filename">/etc/passwd</code> を生成していないからです。
93       </p>
94       <div class="admon note">
95         <img alt="[注記]" src="../images/note.png" />
96         <h3>
97           注記
98         </h3>
99         <p>
100           本章のこれ以降と次章では、すべてのコマンドを chroot 環境内にて実行することが必要です。 例えばシステムを再起動する場合のように
101           chroot 環境からいったん抜け出した場合には、 <a class="xref" href=
102           "kernfs.html#ch-system-bindmount" title=
103           "6.2.2. /dev のマウントと有効化">6.2.2.「/dev のマウントと有効化」</a> と <a class=
104           "xref" href="kernfs.html#ch-system-kernfsmount" title=
105           "6.2.3. 仮想カーネルファイルシステムのマウント">6.2.3.「仮想カーネルファイルシステムのマウント」</a>
106           にて説明した仮想カーネル・ファイル・システムがマウントされていることを確認してください。 そして chroot
107           環境に入り直してからインストール作業を再開してください。
108         </p>
109       </div>
110     </div>
111     <div class="navfooter">
112       <ul>
113         <li class="prev">
114           <a accesskey="p" href="pkgmgt.html" title="パッケージ管理">前のページ</a>
115           <p>
116             パッケージ管理
117           </p>
118         </li>
119         <li class="next">
120           <a accesskey="n" href="creatingdirs.html" title=
121           "ディレクトリの生成">次のページ</a>
122           <p>
123             ディレクトリの生成
124           </p>
125         </li>
126         <li class="up">
127           <a accesskey="u" href="chapter06.html" title=
128           "第6章 基本的なソフトウェアのインストール">上に戻る</a>
129         </li>
130         <li class="home">
131           <a accesskey="h" href="../index.html" title=
132           "Linux From Scratch - Version 6.8">ホーム</a>
133         </li>
134       </ul>
135     </div>
136   </body>
137 </html>