From owner-svn-doc-head@FreeBSD.ORG Fri Mar 21 23:17:17 2014 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C903FC68; Fri, 21 Mar 2014 23:17:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9C9A8F0D; Fri, 21 Mar 2014 23:17:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s2LNHH1f064689; Fri, 21 Mar 2014 23:17:17 GMT (envelope-from ryusuke@svn.freebsd.org) Received: (from ryusuke@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s2LNHH59064688; Fri, 21 Mar 2014 23:17:17 GMT (envelope-from ryusuke@svn.freebsd.org) Message-Id: <201403212317.s2LNHH59064688@svn.freebsd.org> From: Ryusuke SUZUKI Date: Fri, 21 Mar 2014 23:17:17 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r44328 - head/ja_JP.eucJP/books/handbook/cutting-edge X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Sat, 22 Mar 2014 02:27:48 +0000 X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Mar 2014 23:17:17 -0000 Author: ryusuke Date: Fri Mar 21 23:17:17 2014 New Revision: 44328 URL: http://svnweb.freebsd.org/changeset/doc/44328 Log: - Merge the following from the English version: r43804 -> r43806 head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Modified: head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Modified: head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml ============================================================================== --- head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Fri Mar 21 21:54:51 2014 (r44327) +++ head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Fri Mar 21 23:17:17 2014 (r44328) @@ -3,7 +3,7 @@ The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project - Original revision: r43804 + Original revision: r43806 $FreeBSD$ --> + システム上で world の構築が一度でも行われたのであれば、 + 前回の構築の際のコピーが + /usr/obj + に存在するはずです。 + このディレクトリが存在しているのであれば、 + このディレクトリを削除して、 + make buildworld の行程にかかる時間を短縮し、 + 依存問題に悩まされるようなトラブルを回避することができます。 + + &prompt.root; cd /usr/obj +&prompt.root; chflags -R noschg * +&prompt.root; rm -rf * + + + 新しいコンパイラと関連ツールを最初にコンパイルし、 その後、新しいコンパイラで、 新しい world の残りの部分をコンパイルします。 @@ -1638,7 +1653,8 @@ before running "/usr/sbin/freebsd-update 以下のコマンドを実行してください。 &prompt.root; mount -u / -&prompt.root; mount -a -t ufs +&prompt.root; mount -a -t ufs +&prompt.root; swapon -a もしシステムが ZFS でフォーマットされている場合には、 以下の 2 つのコマンドを実行してください。 @@ -1651,19 +1667,25 @@ before running "/usr/sbin/freebsd-update その後、どちらのファイルシステムでも、 - 以下を実行してください。 + CMOS クロックが地域時間に設定されていて + GMT ではない場合 + (&man.date.1; が正しい時間と地域を表示しないなら当てはまります) + には、次のコマンドを実行してください。 &prompt.root; adjkerntz -i 次に、新しい world - における最初の設定ファイルのアップデートを行います。たとえば、 + に対する /etc + の最初の設定ファイルのアップデートを行います。 + 以下のコマンドは + installworld + に成功するために本質的なファイルのみを比較します。 + たとえば、 このステップでは、最後のアップデート後に &os; に追加された、 - 新しいグループや新しいシステムアカウントををシステムに追加されることがあります。 - installworld のステップで、 - 新しくインストールされたシステムのユーザおよびシステムのグループ名を問題なく使うことができるように、 - この作業が必要となることがあります。 + 新しいグループや新しいシステムアカウント、 + もしくはスタートアップスクリプトがシステムに追加されることがあります。 &prompt.root; mergemaster -p @@ -1708,43 +1730,52 @@ before running "/usr/sbin/freebsd-update &prompt.root; make delete-old-libs + + シングルユーザモード + + もしシステムがダウンタイムを持つことができるのであれば、 + システムのコンパイルをマルチユーザモードでおこない、 + インストールのためにシングルユーザモードに移行するという方法ではなく、 + コンパイルをシングルユーザモードで行うことを考えてください。 + システムの再インストールでは、たくさんの重要なシステムファイル、 + すべての標準的なシステムバイナリ、ライブラリ、 + インクルードファイルが変更されるので、 + 実際に動作しているシステムにおいて、 + 特にアクティブなユーザは、トラブルに見舞われる可能性があります。 - <filename>/etc/make.conf</filename> の確認 + 設定ファイル make.conf - この後の節ではそれぞれのステップについて詳しく説明しています。 - 特にカスタムカーネルを利用する場合について説明しています。 + この節では world + の構築のプロセスで使われるコンフィグレーションファイルについて説明します。 - &man.make.1; のオプションの説明は、&man.make.conf.5; や + &man.make.1; で利用可能なオプションの説明は &man.make.conf.5; や、 + 共通の例が /usr/share/examples/etc/make.conf にあります。 - これらの設定を /etc/make.conf に追加して、 - &man.make.1; の実行やプログラムの構築方法を設定してください。 - ある設定を変更したことにより、影響が広い範囲におよび、 - 驚くべき結果をもたらす可能性があります。 - 両方のファイルに書かれているコメントを読むことと、 - デフォルトの設定は、パフォーマンスと安全性の観点から選ばれていることを覚えておいてください。 - - /etc/make.conf で設定されたオプションは、 - &man.make.1; が使われる際には常に有効となります。 + これらの設定を /etc/make.conf に追加すると、 + &man.make.1; の実行やプログラムの構築方法を設定できます。 + これらのオプションは、 + &man.make.1; が使われる際には常に有効となるため、 Ports Collection からアプリケーションをコンパイルする時、 ユーザが書いた C プログラムや &os; オペレーティングシステムを構築する際に影響を及ぼします。 - - - <filename>/etc/src.conf</filename> を確認する + ある設定を変更したことにより、影響が広い範囲におよび、 + 驚くべき結果をもたらす可能性があります。 + 両方のファイルに書かれているコメントを読むことと、 + デフォルトの設定は、パフォーマンスと安全性の観点から選ばれていることを覚えておいてください。 src.conf /etc/src.conf は、 - ソースコードを用いたオペレーティングシステムの構築についてコントロールします。 + ソースコードを用いたオペレーティングシステムの構築をコントロールします。 /etc/make.conf とは異なり、 /etc/src.conf に書かれた設定は、 &os; オペレーティングシステムそのものを構築するときにのみ影響します。 @@ -1753,123 +1784,7 @@ before running "/usr/sbin/freebsd-update 一見したところ無効にされている、 使われていないカーネルモジュールやビルドオプションに注意してください。 ときどき予期しなかったり、わずかな影響を与えることがあります。 - - - - <filename>/etc</filename> にあるファイルの更新 - - /etc には、 - システム起動時に実行されるスクリプトだけでなく、 - システムの設定に関連する情報の大部分が含まれています。 - そのディレクトリに含まれるスクリプトは、 - &os; のバージョンによって多少異なります。 - - 設定ファイルのなかには、/etc/group - のように稼働中のシステムが日々利用しているものもあります。 - - - make installworld によるインストールの段階では、 - 特定のユーザ名、あるいはグループが存在していることを - 要求する場面があります。システムのアップグレードを行なう際には、 - それらのユーザ名やグループが削除、 - あるいは変更されて存在していない可能性が考えられます。 - make buildworld において、 - それらのユーザ名やグループが存在するか確認が行われる場合もあります。 - - - 解決方法は、buildworld の前に - をつけて &man.mergemaster.8; を実行することです。 - これを実行すると、buildworld や - installworld - が成功するために必要なファイルだけを比較します。 - - - 名前を変更したり、削除してしまったグループが所有しているファイルを、 - 次のようにして調べることもできます。 - - - &prompt.root; find / -group GID -print - - このコマンドはグループ名もしくは数字で示されるグループ ID - で指定されたグループ GID - が所有するすべてのファイルを表示します。 - - - - - シングルユーザモードへの移行 - シングルユーザモード - - コンパイルは、シングルユーザモードで行なうことを考えてください。 - システムの再インストールは重要なシステムファイル、 - すべての標準システムのバイナリ、ライブラリ、インクルードファイルを操作します。 - 稼働中のシステムに (特に他のユーザがそのシステムにログインしている時に) - そのような変更を加えることは、トラブルを引き起こす原因となります。 - - マルチユーザモード - もう一つの方法として、マルチユーザモードでシステムを再構築して、 - シングルユーザモードに移行してからそれをインストールする、 - というのがあります。もしこのような方法で行ないたい場合は、 - 以下の手順を構築が完了するところまで飛ばしてください。 - installkernel もしくは - installworld を実行する際に、 - シングルユーザモードに移行してください。 - - &prompt.root; shutdown now - - あるいはシステムを再起動し、ブートプロンプトから - single user オプションを選択してください。 - シングルユーザモードで起動した後は、 - シェルプロンプトから次のように実行してください。 - - &prompt.root; fsck -p -&prompt.root; mount -u / -&prompt.root; mount -a -t ufs -&prompt.root; swapon -a - - これはファイルシステムをチェックした後、 - / を読み書き可能にして再マウント、 - /etc/fstab に指定されている、 - それ以外の UFS ファイルシステムをすべてマウントしてから - スワップを有効にします。 - - - - CMOS クロックが地域時間に設定されていて - GMT ではない場合 - (&man.date.1; が正しい時間と地域を表示しないなら当てはまります)、 - 次のコマンドを実行すしてください。 - -&prompt.root; adjkerntz -i - - こうすれば、 - 確実に地域時刻が正しく設定されます。 - - - - - - <filename>/usr/obj</filename> の削除 - - システムが再構築される時、構築されたものはデフォルトで - /usr/obj 以下のサブディレクトリに格納されます。 - そのディレクトリの下は /usr/src - と同じ構造となります。 - - もしこのディレクトリが存在しているのであれば、 - このディレクトリを削除して、 - make buildworld の行程にかかる時間を短縮し、 - 依存問題に悩まされるようなトラブルを回避することができます。 - - /usr/obj 以下のファイルには、変更不可 - (immutable) フラグがセットされているものがある可能性があります。 - このようなファイルは最初に &man.chflags.1; - を用いてから削除する必要があります。 - - &prompt.root; cd /usr/obj -&prompt.root; chflags -R noschg * -&prompt.root; rm -rf * - + ベースシステムの再構築 @@ -2079,17 +1994,9 @@ Script done, … kern.securelevel について詳しくは &man.init.8; を、ファイルの様々なフラグについて詳しくは &man.chflags.1; をご覧ください。 - - - - シングルユーザモードで再起動する - single-user mode 新しいカーネルが動作するかどうかテストするために、 - シングルユーザモードで再起動してください。 - シングルユーザモードでの起動は、 - - に書かれている手順に従ってください。 + シングルユーザモードで再起動してください。 @@ -2239,10 +2146,6 @@ Script done, … また、/etc にあるべきファイルのうちで /usr/src/etc にないものもあります。 - &man.mergemaster.8; を (勧められた通り) - 使っているのであれば、次の節 - まで飛ばしてもかまいません。 - 手動で行う際の一番簡単な方法は、 ファイルを新しいディレクトリにインストールしてから、 以前のものと異なっている部分を調べて更新作業を行なうことです。 @@ -2459,15 +2362,6 @@ Script done, … - - 再起動 - - すべてがあるべき正しい場所に存在することをチェックしたら、 - &man.shutdown.8; を実行してシステムを再起動してください。 - - &prompt.root; shutdown -r now - - 使われなくなったライブラリの削除 @@ -2714,7 +2608,7 @@ Building everything.. なにか悪いことがあったらどうすればいいですか? - 自分の環境に前のビルドの余計なゴミが残っていないことをはっきりと確認してください。 + まず、自分の環境に前のビルドの余計なゴミが残っていないことをはっきりと確認してください。 &prompt.root; chflags -R noschg /usr/obj/usr &prompt.root; rm -rf /usr/obj/usr