From owner-svn-doc-all@FreeBSD.ORG Sun Jun 17 08:04:58 2012 Return-Path: Delivered-To: svn-doc-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4DF59106564A; Sun, 17 Jun 2012 08:04:58 +0000 (UTC) (envelope-from ryusuke@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D99B8FC14; Sun, 17 Jun 2012 08:04:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q5H84wYu093515; Sun, 17 Jun 2012 08:04:58 GMT (envelope-from ryusuke@svn.freebsd.org) Received: (from ryusuke@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q5H84wYL093513; Sun, 17 Jun 2012 08:04:58 GMT (envelope-from ryusuke@svn.freebsd.org) Message-Id: <201206170804.q5H84wYL093513@svn.freebsd.org> From: Ryusuke SUZUKI Date: Sun, 17 Jun 2012 08:04:58 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r39052 - head/ja_JP.eucJP/books/handbook/cutting-edge X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jun 2012 08:04:58 -0000 Author: ryusuke Date: Sun Jun 17 08:04:57 2012 New Revision: 39052 URL: http://svn.freebsd.org/changeset/doc/39052 Log: - Merge the following from the English version: r36653 -> r38879 head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml Reference: [doc-jp-work 2263] Modified: head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml Modified: head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml ============================================================================== --- head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml Sat Jun 16 17:09:01 2012 (r39051) +++ head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml Sun Jun 17 08:04:57 2012 (r39052) @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project - Original revision: r36653 + Original revision: r38879 $FreeBSD$ --> @@ -189,9 +189,10 @@ Components src world kernelこのパラメータは、&os; のどの部分を最新に維持するかを設定します。 デフォルトではソースコード、ベースシステム全体、そしてカーネルをアップデートします。 Components に設定できる項目は、インストール時に選択できるものと同じです。 - たとえば、ここで "world/games" を追加すると、 + たとえば、ここで world/games を追加すると、 game にパッチが当たるようになります。 - "src/bin" を追加すると、src/bin + src/bin を追加すると、 + src/bin ソースコードのアップデートを許可します。 この部分についてはデフォルトのままにしておき、 @@ -302,11 +303,11 @@ MergeChanges /etc/ /var/named/etc/freebsd-update ユーティリティが自動的にアップデートするカーネルは - GENERIC のみです。 + GENERIC のみです。 カスタムカーネルを使っている場合には、freebsd-update が他の部分をアップデートした後、 カーネルを再構築し、もう一度インストールする必要があります。 - GENERIC カーネルが GENERIC カーネルが /boot/GENERIC に存在する場合には、 freebsd-update により @@ -314,7 +315,7 @@ MergeChanges /etc/ /var/named/etc/ - GENERIC カーネルを、常に GENERIC カーネルを、常に /boot/GENERIC に置いておくことは良い考えです。 さまざまな問題を解決する際や、 @@ -370,10 +371,10 @@ MergeChanges /etc/ /var/named/etc/カスタムカーネルを使用している場合には、 アップグレードのプロセスは幾分複雑となります。 - GENERIC カーネルが GENERIC カーネルが /boot/GENERIC に置かれている必要があります。 - もし GENERIC + もし GENERIC カーネルがシステムに存在しない場合には、 以下のどれかの方法で用意してください。 @@ -381,7 +382,7 @@ MergeChanges /etc/ /var/named/etc/ ただ一度だけカスタムカーネルを構築したのであれば、 /boot/kernel.old - カーネルは GENERIC そのものです。 + カーネルは GENERIC そのものです。 ただ単にこのディレクトリの名前を /boot/GENERIC へと変更してください。 @@ -389,7 +390,7 @@ MergeChanges /etc/ /var/named/etc/ コンピュータへの物理的なアクセスが可能であれば、 - CD-ROM から GENERIC + CD-ROM から GENERIC カーネルをインストールできます。 インストールディスクを挿入して、以下のコマンドを実行してください。 @@ -400,14 +401,14 @@ MergeChanges /etc/ /var/named/etc/ここで X.Y-RELEASE を実際のリリース番号に置き換えてください。 - GENERIC は、デフォルトで GENERIC は、デフォルトで /boot/GENERIC にインストールされます。 上記の方法が失敗するのであれば、 - GENERIC カーネルをソースから再構築して、 + GENERIC カーネルをソースから再構築して、 インストールしてください。 &prompt.root; cd /usr/src @@ -416,8 +417,8 @@ MergeChanges /etc/ /var/named/etc/rm -rf /boot/GENERIC/boot freebsd-update は、このカーネルを - GENERIC として扱います。 - GENERIC コンフィグレーションファイルは、 + GENERIC として扱います。 + GENERIC コンフィグレーションファイルは、 とにかく変更してはいけません。 また、特別なオプションを指定しない (/etc/make.conf が空であることが望ましい) @@ -425,7 +426,7 @@ MergeChanges /etc/ /var/named/etc/ - この時点で GENERIC + この時点で GENERIC カーネルで再起動する必要はありません。 freebsd-update @@ -473,7 +474,7 @@ This kernel will not be updated: you MUS before running "/usr/sbin/freebsd-update install" この時点ではこの警告を無視してもかまいません。 - アップデートされた GENERIC カーネルは、 + アップデートされた GENERIC カーネルは、 アップグレードプロセスの途中で利用されます。 すべてのパッチがローカルシステムへダウンロードされたら、 @@ -509,7 +510,7 @@ before running "/usr/sbin/freebsd-update &prompt.root; nextboot -k GENERIC - GENERIC カーネルで再起動する前に、 + GENERIC カーネルで再起動する前に、 システムが適切に起動するために必要な (もしコンピュータにリモートでアクセスしてアップデートしていたのであれば、 ネットワーク接続に必要な) @@ -519,7 +520,7 @@ before running "/usr/sbin/freebsd-update ビルド済みの機能を含んでいるのであれば、 これらのモジュールを一時的に /boot/loader.conf の機能を用いて、 - GENERIC へと読み込んでください。 + GENERIC へと読み込んでください。 アップグレードプロセスが終わるまでは、 重要ではないサービスを無効にし、 ディスクやネットワークのマウントなどは避けてください。 @@ -564,7 +565,7 @@ before running "/usr/sbin/freebsd-update &prompt.root; freebsd-update install - GENERIC + GENERIC カーネルを一時的に読み込んでいたのであれば、 ここで、通常の方法を用いて新しいカスタムを構築し、インストールしてください。 @@ -669,10 +670,10 @@ before running "/usr/sbin/freebsd-update 以下のコマンドを実行してください。 &prompt.root; portsnap fetch -Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. -Fetching snapshot tag from portsnap1.FreeBSD.org... done. +Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found. +Fetching snapshot tag from geodns-1.portsnap.freebsd.org... done. Fetching snapshot metadata... done. -Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. +Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. @@ -2123,8 +2124,9 @@ DOCSUPFILE?= /usr/share/examples/cvsup/d シングルユーザモードで立ち上げましょう。 それから、以下を実行してください。 - &prompt.root; adjkerntz -i + &prompt.root; mount -u / &prompt.root; mount -a -t ufs +&prompt.root; adjkerntz -i &prompt.root; mergemaster -p &prompt.root; cd /usr/src &prompt.root; make installworld @@ -2228,13 +2230,7 @@ DOCSUPFILE?= /usr/share/examples/cvsup/d オプションをつけて &man.mergemaster.8; を実行することです。 これを実行すると、buildworldinstallworld - が成功するために必要なファイルだけを比較します。 - 古いバージョンの mergemaster - を使っていて、 がサポートされていない場合、 - 最初に実行するときソースツリーにある新しいバージョンのものを使ってください。 - - &prompt.root; cd /usr/src/usr.sbin/mergemaster -&prompt.root; ./mergemaster.sh -p + が成功するために必要なファイルだけを比較します。 もし、あなたがもっと神経質な人なら、あなたが名前を変更したり、 @@ -3260,6 +3256,113 @@ Building everything.. + + + + + Anton + Shterenlikht + ベースとなったノートの提供: + + + + 使われなくなったファイル、ディレクトリ、ライブラリの削除 + + Deleting obsolete files, directories and libraries + + + &os; の開発サイクルにおいて、 + ファイルやシステムの一部が使われなくなることがあります。 + それらの機能が別の場所で実装されたり、 + ライブラリのバージョン番号が変わったり、 + システムから完全に削除されることがあるためです。 + システムのアップデート時に削除が必要になるのは、 + 古いファイル、ライブラリそしてディレクトリです。 + これらのファイルを削除すると、記憶媒体 (およびバックアップ媒体) + において不必要な容量を占めている古いファイルが、 + システム上に散乱することがなくなります。 + また、古いライブラリのセキュリティや安定性に問題があると、 + ライブラリを新しくしてシステムを安定な状態にし、 + 古いライブラリの実装からシステムがクラッシュすることを防がなければなりません。 + 使われなくなったファイル、ディレクトリ、ライブラリは + /usr/src/ObsoleteFiles.inc + にまとめられています。この節では、 + アップグレードの過程でこれらのファイルを削除する方法について説明します。 + + システムは、 + で説明した方法で構築されていると仮定します。 + make installworld と、 + その後の mergemaster コマンドが無事に終わったら、 + 以下の方法で使われなくなったファイルやライブラリを確認してください。 + + &prompt.root; cd /usr/src +&prompt.root; make check-old + + 見つかった古いファイルは、以下のコマンドで削除できます。 + + &prompt.root; make delete-old + + + その他のターゲットについては /usr/src/Makefile + をご覧ください。 + + + 使われなくなったファイルを削除する際、ファイルごとに確認が求められます。 + 以下のように make の BATCH_DELETE_OLD_FILES + 環境変数を設定すると、 + 確認が省略され、自動的にファイルが削除されます。 + + &prompt.root; make -DBATCH_DELETE_OLD_FILES delete-old + + yes + をコマンドへパイプでつなげても省略できます。 + + &prompt.root; yes|make delete-old + + + Warning + 使われなくなったファイルを削除すると、 + 削除したファイルに依存していたアプリケーションは壊れてしまいます。 + 特に、古いライブラリを削除する場合に起こり得ます。 + 通常、make + delete-old-libs + を実行する前に、 + これらの古いライブラリを使っているプログラム、ports、 + ライブラリを再構築する必要があります。 + + + 共有ライブラリをチェックするユーティリティとして、 + Ports Collection の sysutils/libchksysutils/bsdadminscripts + を利用できます。 + + 使われなくなった共有ライブラリは、 + 新しいライブラリと競合し、以下のようなメッセージを表示することがあります。 + + /usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5 +/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5 + + この問題を解決するには、 + まずライブラリがどの port によってインストールされたかを調べて下さい。 + + &prompt.root; pkg_info -W /usr/local/lib/libtiff.so +/usr/local/lib/libtiff.so was installed by package tiff-3.9.4 +&prompt.root; pkg_info -W /usr/local/lib/libXext.so +/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1 + + 見つかった port をアンインストールし、 + 再構築、再インストールしてください。 + この過程は ports-mgmt/portmaster + や ports-mgmt/portupgrade + ユーティリティで自動化できます。 + すべての ports が再構築され、 + 古いライブラリがどこにも使われていないことを確認したら、 + 以下のコマンドで古いライブラリを削除してください。 + + &prompt.root; make delete-old-libs + +