日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
DISKLESS(8) FreeBSD システム管理者マニュアル DISKLESS(8) 名称 diskless -- ネットワークを介してシステムをブートする 解説 ネットワークを介してマシンをブートする能力は、diskless もしくは dataless マシンのためや、ローカルのファイルシステムの再インストールまたは修復中に 一時的に利用するために有用です。このファイルは、クライアントがネットワー クを介してブートする時に、クライアントとサーバとの間で行われる通信の一般 的な解説を提供します。 操作 ネットワークを介してシステムをブートする時に、クライアントとサーバの間で 3 フェーズのやりとりがあります: 1. ステージ 1 のブートストラップ、典型的には、イーサネットカード組み込 みの PXE が、ブートプログラムを読み込みます。 2. ステージ 2 ブートプログラム、典型的には、pxeboot(8) が、モジュールと カーネルを読み込み、カーネルをブートします。 3. カーネル NFS がルートディレクトリをマウントし、そこから処理を継続し ます。 これらの各フェーズについて、以降で詳しく記述します。 最初に、ステージ 1 ブートストラップがステージ 2 ブートプログラムをネット ワーク経由でロードします。ステージ 1 ブートストラップは、典型的には、 BOOTP か DHCP を使用して読み込むファイル名を取得し、TFTP を使用してその ファイルをロードします。このファイルは、典型的には、pxeboot と呼ばれ、 /boot/pxeboot からサーバの TFTP ディレクトリに、典型的には、/tftpdir にコ ピーされるべきです。 それから、ステージ 2 ブートプログラムが追加モジュールとカーネルをロードし ます。これらのファイルは、DHCP サーバや BOOTP サーバには、存在しないかも しれません。DHCP 設定で使用可能な next-server オプションを使用して、ス テージ 2 ブートファイルとカーネルを持つサーバを指定可能です。ステージ 2 プログラムは、NFS または TFTP を使用してこれらのファイルを取得します。デ フォルトでは、NFS が使用されます。pxeboot(8) を使用している場合、 make.conf(5) に LOADER_TFTP_SUPPORT=YES を設定し、下記の方法で pxeboot(8) を再コンパイルおよび再インストールすることで TFTP を使用するバージョンを インストール可能です。しばしば TFTP を使用することが必要となりますので、 /tftpdir/ にカスタムカーネルを置くことができます。NFS を使用するが diskless クライアント用にカスタムルートファイルシステムを持たない場合、ス テージ 2 ブートは、サーバのカーネルを diskless マシン用のカーネルとして ロードしますが、これは、あなたの期待する動作ではないかもしれません。 cd /usr/src/stand/i386 make clean; make; make install cp /boot/pxeboot /tftpdir/ フェーズ 3 では、カーネルは、以下の 2 つの方法のどちらかで IP ネットワー ク設定を獲得し、ルートファイルシステムのマウントに進み、動作を開始しま す。フェーズ 2 のローダが、カーネル環境を使ってカーネルにネットワーク設定 を渡せるのなら、カーネルは、その情報を使ってネットワークインタフェースを 設定します。そうでない場合、DHCP や BOOTP を用いて設定情報を獲得しないと なりません。ブートスクリプトは、diskless 起動を認識し、/etc/rc.d/resolv, /etc/rc.d/tmp, /etc/rc.d/var と /etc/rc.initdiskless 中の動作を実行しま す。 設定 diskless クライアントを実行させるためには、次に示すものが必要です: • NFS サーバ。これは、適切なパーミッションを付けてルートパーティション と /usr パーティションをエクスポートします。いくつかのシステムファイ ルにアクセスできるようにするために、ルートパーティションが -maproot=0 でエクスポートされている限り、スクリプト diskless は、読み込み専用 パーミッションで動作します。例として /etc/exports は、次に示す行を含 みます: <ROOT> -ro -maproot=0 -alldirs <list of diskless clients> /usr -ro -alldirs <list of diskless clients> ここで <ROOT> は、ルートパーティションのサーバ上でのマウントポイント です。スクリプト /usr/share/examples/diskless/clone_root を使い、共用 可能な読み込み専用ルートパーティションを生成することができます。しか し、多くの場合、サーバ自身が使用するルートディレクトリを (読み込み専 用で) エクスポートさせると決めることもできます。 • BOOTP または DHCP サーバ。bootpd(8) は、/etc/inetd.conf の ``bootps'' 行のコメントを外すことで使用可能にすることができます。/etc/bootptab の例は、次のようになります: .default:\ hn:ht=1:vm=rfc1048:\ :sm=255.255.255.0:\ :sa=<SERVER>:\ :gw=<GATEWAY>:\ :rp="<SERVER>:<ROOT>": <CLIENT>:ha=0123456789ab:tc=.default <SERVER>, <GATEWAY>, <CLIENT>, <ROOT> の意味は明らかでしょう。 • 適切に初期化されたルートパーティション。スクリプト /usr/share/examples/diskless/clone_root が、サーバのルートパーティ ションを参照として使用することで、この作成の助けとなります。作業を始 めたばかりならば、サーバ自身のルートディレクトリ / を使用すべきであ り、この複製を作成すべきではありません。 普通は、diskless (ディスクレス) ブートにおいてはサーバの rc.conf や rc.local とは異なるものを使いたいでしょう。diskless ブートスクリプト は、(ルートの他のサブディレクトリと同様) /etc 中の様々なファイルを オーバライドする機構を提供します。 利用者が特別の注意を払うべきである 1 つの違いは、 /etc/defaults/rc.conf の local_startup の値です。diskless ブートのた めの典型的な値は、mountcritremote ですが、利用者の要求は、異なってい るかもしれません。 スクリプトは、4 個のオーバライドディレクトリ /conf/base, /conf/default, /conf/<broadcast-ip>, /conf/<machine-ip> を提供しま す。サーバの /etc を diskless マシン上で完全に置き換える /conf/base/etc を、常に作成すべきです。ここで、サーバの /etc を複製す ることが可能ですし、サーバの /etc を /conf/base/etc へマウントするこ とを diskless ブートスクリプトに対して指示する特殊ファイルを作成する ことも可能です。これは、diskless マシンの /etc の元となるマウントポイ ントを含むファイル /conf/base/etc/diskless_remount を作成することで実 現されます。例えば、このファイルの中身は、次のようになります: 10.0.0.1:/etc 代りに、サーバが独立したルートを複数持つ場合、このファイルは、次のよ うになります: 10.0.0.1:/usr/diskless/4.7-RELEASE/etc これは、動作しますが、/usr/diskless/4.7-RELEASE を /usr/diskless/4.8-RELEASE へコピーしてインストールを更新すると、この 移動を反映するように diskless_remount を変更する必要があるでしょう。 これを避けるために、diskless_remount ファイル中のパスで / で開始する ものの実際のパスは、クライアントのルートをこれらの前に付けたものにな ります。これにより、このファイルには、次のように書けます: /etc diskless スクリプトは、オーバライドされたディレクトリを保持するため に、メモリファイルシステムを作成します。わずか 2MB パーティションがデ フォルトで作成されますが、用途によっては足りないかもしれません。この 動作を変えるには、このディレクトリ用のメモリディスクの大きさを 512 バ イトセクタ数単位で示す、ファイル /conf/base/etc/md_size を作成しま す。 その次に、典型的には、ファイル毎のオーバライドを /conf/default/etc ディレクトリにて提供します。最低でも、/etc/fstab, /etc/rc.conf, /etc/rc.local のオーバライドを /conf/default/etc/fstab, /conf/default/etc/rc.conf, /conf/default/etc/rc.local で指定する必要 があります。 オーバライドは、階層的です。ネットワーク固有のデフォルトを /conf/<BROADCASTIP>/etc ディレクトリ中で提供可能です。ここで、 <BROADCASTIP> は、BOOTP にてディスクレスシステムに与えられる、 diskless システムのブロードキャストアドレスを示します。 diskless_remount および md_size の機構は、これらのディレクトリ中のい かなるものに対しても動作します。コンフィギュレーション機能は、/etc 以 外のディレクトリに対して動作します。置換やオーバライドしたいディレク トリを /conf/{base,default,<broadcast>,<ip>}/* 中に作成することで、 /etc と同様に動作します。 通常は、/conf/base/etc/diskless_remount を使用してサーバの /etc を複 製しますので、メモリファイルシステムから不要なファイルを削除したいか もしれません。例えば、サーバは、ファイアウォールを持つがディスクレス ではそうでない場合、/etc/ipfw.conf を削除したいと思うでしょう。 /conf/base/<DIRECTORY>.remove ファイルを作成することで、これは、実現 可能です。例えば、/conf/base/etc.remove に相対パスを列挙すると、ブー トスクリプトがこれらをメモリファイルシステムから削除します。 最低でも、/conf/default/etc/fstab に次の内容を含める必要があります。 <SERVER>:<ROOT> / nfs ro 0 0 <SERVER>:/usr /usr nfs ro 0 0 また、/conf/default/etc/rc.conf を変更し、diskless クライアント用のス タートアップオプションを含むようにしたバージョンを用意する必要もあり ます。/conf/default/etc/rc.local は、空にできますが、サーバ自身の /etc/rc.local が diskless システムに使用されることを防げます。 スタートアップコードで既に設定されているため、rc.conf では、hostname や ifconfig_* を指定する必要は、まずないでしょう。最後になりますが、 複数の diskless クライアントで同じ設定ファイルを共有する場合、 `hostname` の値をスイッチ変数に使う case 文を用いて、マシン固有の設定 を行なうようにすると良いかもしれません。 • NFS または TFTP を使用してロードされる、diskless クライアント用のカー ネル。これは、NFS クライアントのサポートを含んでいなければなりません: options NFSCL options NFS_ROOT カーネル環境を使ってカーネルにネットワーク設定を渡すことのできない ブート機構を使っているのなら、次のオプションも含める必要があります: options BOOTP options BOOTP_NFSROOT options BOOTP_COMPAT 注: PXE 環境では、上記のオプションは、必要ありません。 diskless ブート環境は、ルートファイルシステムを読み込み専用でマウント する時に一時的なローカルディスクを提供するメモリに裏打ちされたファイ ルシステムに依存しています。そのため、カーネル設定のデバイスセクショ ンには、次を追加することが必要です: device md ファイアウォールを使用する場合、デフォルトを ``open'' にしておかねば ならないことは覚えておいて下さい。オープンにしておかないと、カーネル で BOOTP パケットの読み書きができなくなります。 セキュリティ上の問題 暗号化されない NFS を使用してルートパーティションとユーザパーティションを マウントすると、暗号化キーなどの情報が洩れるかもしれないことに注意して下 さい。 関連項目 ethers(5), exports(5), make.conf(5), bootpd(8), mountd(8), nfsd(8), pxeboot(8), reboot(8), tftpd(8) ports/net/etherboot バグ このマニュアルページは、おそらく不完全です。 FreeBSD は、ときどきルートパーティションに書き込みを要求します。ですか ら、スタートアップスクリプトでは、元の内容を保存する間、MFS ファイルシス テムをいくつかの位置 (/etc や /var など) にマウントします。この処理は、す べての場合を扱えないかもしれません。 FreeBSD 11.4 August 7, 2011 FreeBSD 11.4