aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyusuke SUZUKI <ryusuke@FreeBSD.org>2021-08-27 14:25:34 +0000
committerRyusuke SUZUKI <ryusuke@FreeBSD.org>2021-08-27 14:25:34 +0000
commit0f0052a05631567724fbba8a26180ed072f793d3 (patch)
treeac98c37e763a6853d37e7eb4edd2c0e59e4756bb
parent1d2ebbdb9e4e80d3dcdf46f76de52e36a1b02ea9 (diff)
downloaddoc-0f0052a05631567724fbba8a26180ed072f793d3.tar.gz
doc-0f0052a05631567724fbba8a26180ed072f793d3.zip
6269a3efb8 -> d1c2ff43aa
-rw-r--r--documentation/content/ja/books/handbook/cutting-edge/_index.adoc72
1 files changed, 62 insertions, 10 deletions
diff --git a/documentation/content/ja/books/handbook/cutting-edge/_index.adoc b/documentation/content/ja/books/handbook/cutting-edge/_index.adoc
index 882d09525d..18f77315e1 100644
--- a/documentation/content/ja/books/handbook/cutting-edge/_index.adoc
+++ b/documentation/content/ja/books/handbook/cutting-edge/_index.adoc
@@ -3,6 +3,8 @@ title: 第17章 FreeBSD のアップデートとアップグレード
part: パートIII. システム管理
prev: books/handbook/l10n
next: books/handbook/partiv
+description: freebsd-update もしくは Git を使った FreeBSD システムを最新の状態に更新する方法、ベースシステム全体を再構築しインストールする方法などの説明
+tags: ["updating", "upgrading", "documentation", "FreeBSD-STABLE", "FreeBSD-CURRENT", "Security Patches"]
---
[[updating-upgrading]]
@@ -69,7 +71,7 @@ toc::[]
[NOTE]
====
-この章を通じて、 FreeBSD のソースコードをダウンロードしたりアップデートするのに `git` が用いられます。
+この章を通じて、FreeBSD のソースコードのダウンロードやアップデートに `git` が使われています。
必要に応じて package:devel/git[] port または package が使われることもあります。
====
@@ -548,17 +550,17 @@ FreeBSD-CURRENT を追いかけるには
. {freebsd-current} と {dev-commits-src-main} メーリングリストに加わってください。
さまざまな人がシステムの現在の状態について述べているコメントを見たり、FreeBSD-CURRENT の現在の状態に関する重要な情報を見逃さないために、 _必須の_ ことです。
-+
++
{dev-commits-src-main} メーリングリストでは、それぞれの変更についての commit ログが記録されています。
また、それに関して起こり得る副作用の情報を得ることができますので、参加する価値のあるメーリングリストです。
-+
++
これらのメーリングリストに入るには、 {mailman-lists} をたどって参加したいメーリングリストをクリックし、手順の説明にしたがってください。
FreeBSD-CURRENT だけでなく、ソースツリー全体の変更点を追いかけるのであれば、 {dev-commits-src-all} メーリングリストを購読してください。
. FreeBSD-CURRENT のソースを同期してください。
通常は `git` を使って FreeBSD Git リポジトリの `main` ブランチから -CURRENT コードをチェックアウトしてください (crossref:mirrors[git,「Git を使う」] を参照してください)。
. リポジトリのサイズが大きいため、興味のある部分や、パッチを当てる部分のソースのみを同期するユーザもいます。
しかしながら、ソースからオペレーティングシステムをコンパイルしようと思っているユーザは、一部分だけではなく、FreeBSD-CURRENT の _すべて_ をダウンロードする必要があります。
-+
++
FreeBSD-CURRENT をコンパイルする前に [.filename]#/usr/src/Makefile# を注意深く読み、<<makeworld>> に書かれている手順に従ってください。
{freebsd-current} と [.filename]#/usr/src/UPDATING# を読めば、次のリリースへ向けて移ってゆくに当たって、ときどき必要となる既存システムからの新システムの構築手順についての最新情報が得られるでしょう。
. アクティブになってください! FreeBSD-CURRENT のユーザには、 拡張やバグ潰しに関して提案することが勧められています。 コードを伴う提案はいつでも歓迎されます!
@@ -583,21 +585,69 @@ FreeBSD-STABLE を追いかけるには
. FreeBSD-STABLE の構築に関連する事柄や、その他の注意すべき点 に関する情報を得るために、 {freebsd-stable} メーリングリストに加わってください。
また開発者は議論の余地がある修正や変更を考えている場合に、このメーリングリストで公表し、提案された変更に関して問題が生じるかどうかを返答する機会をユーザに与えます。
-+
++
追いかけているブランチに関連する git メーリングリストに参加してください。
たとえば、{betarel-current-major}-STABLE ブランチを追いかけているユーザは {dev-commits-src-branches} メーリングリストに参加してください。
このリストでは、変更がなされるごとに作成される commit log やそれに伴う起こりうる副作用についての情報が記録されています。
-+
++
これらのメーリングリストに入るには、 {mailman-lists} をたどって参加したいメーリングリストをクリックし、手順の説明にしたがってください。
ソースツリー全体の変更点を追いかけるには、 {dev-commits-src-all} メーリングリストを購読してください。
. 新しい FreeBSD-STABLE システムをインストールするには、 crossref:mirrors[mirrors,ミラーサイト] から最近の FreeBSD-STABLE リリースをインストールするか、毎月公開されている FreeBSD-STABLE からビルドされたスナップショットを使ってください。
スナップショットの詳細については、link:https://www.FreeBSD.org/ja/snapshots/[www.freebsd.org/ja/snapshots] をご覧ください。
-+
++
既に FreeBSD が動いているシステムを FreeBSD-STABLE にアップグレードするには、 crossref:mirrors[svn,svn] を使って、希望する開発ブランチのソースをチェックアウしてください。
`stable/9` といったブランチ名は、link:https://www.FreeBSD.org/releng/[www.freebsd.org/releng] で説明されています。
. FreeBSD-STABLE をコンパイルしたり FreeBSD-STABLE へとアップグレードする前に、 [.filename]#/usr/src/Makefile# を注意深く読み、 <<makeworld>> に書かれている手順に従ってください。
{freebsd-stable} と [.filename]#/usr/src/UPDATING# を読んで、次のリリースへ向けて移ってゆくに当たって、ときどき必要となる既存システムからの新システムの構築手順についての最新情報を得てください。
+[[translate-n-number]]
+=== n-番号
+バグを追跡する際は、問題が発生したシステムの構築に用いられたソースコードのバージョンを把握することが重要となります。
+FreeBSD は、バージョン情報をカーネルのコンパイル時に埋め込みます。
+man:uname[1] を使ってこの情報を調べることができます。以下はその例です。
+[source,shell]
+....
+% uname -a
+FreeBSD 14.0-CURRENT #112 main-n247514-031260d64c18: Tue Jun 22 20:43:19 MDT 2021 fred@machine:/usr/home/fred/obj/usr/home/fred/git/head/amd64.amd64/sys/FRED
+....
+4 番目のフィールドを見ると、いくつかの要素から構成されていることがわかります。
+[source,shell]
+....
+main-n247514-031260d64c18
+
+main <.>
+n247514 <.>
+031260d64c18 <.>
+ <.>
+....
+<.> Git ブランチ名。
+注意: n-番号の比較は、FreeBSD プロジェクトで作成されたブランチ
+ (`main`, `stable/XX` および `releng/XX`) でのみ有効です。
+ローカルブランチでは、親ブランチのコミットと n-番号が重複してしまいます。
+<.> n-番号は、ハッシュ値が含まれるようになった git リポジトリの使用開始からのコミットを数えたものです。
+<.> チェックアウトしたツリーのハッシュ値。
+<.> `-dirty` が表示されることがあります。
+変更点がコミットされていないツリーでカーネルが構築された場合に表示されます。
+この例では、チェックアウトから変更なく FRED カーネルが構築されたため、出力されていません。
+
+`git rev-list` コマンドを使って、ハッシュ値に対応する n-番号を調べることができます。
+以下はその例です。
+[source,shell]
+....
+% git rev-list --first-parent --count 031260d64c18 <.>
+247514 <.>
+....
+<.> 変換する git ハッシュ値 (ここでは先の例のハッシュ値を使用しています)
+<.> n-番号
+
+この数字は通常それほど重要ではありません。
+しかしながら、バグの修正がコミットされた時には、この数字を使うことで、使用しているシステムでバグが修正されているかどうかを簡単に調べることができます。
+ハッシュ値は簡単に目にする識別子である一方で n-番号はそうではありません。
+そのため、開発者は通常 n-番号ではなくコミットのハッシュ値
+(または、ハッシュ値を含む URL) を参照します。
+セキュリティ勧告および errata 情報では n-番号が示されており、使用しているシステムの番号と直接比較できます。
+`git rev-list` コマンドは、レポジトリのリビジョンをすべてカウントしますが、git の shallow clone はその情報を取得しないため、shallow clone を使用しなければならない場合には、n-番号は信頼できません。
+
[[makeworld]]
== ソースを用いた FreeBSD のアップデート
@@ -608,7 +658,8 @@ FreeBSD-STABLE を追いかけるには
[[updating-src-quick-start]]
=== クィックスタート
-以下は FreeBSD をソースから構築してアップデートする典型的な方法についてのクイックリファレンスです。 その後の節では、各プロセスをより詳細に説明します。
+以下は FreeBSD をソースから構築してアップデートする典型的な方法についてのクイックリファレンスです。
+その後の節では、各プロセスをより詳細に説明します。
[.procedure]
====
@@ -749,7 +800,8 @@ man:uname[1] を使って FreeBSD のバージョンを確認してください
コンパイルされたコードは [.filename]#/usr/obj# に書き出されます。
-これは基本のステップです。 構築をコントロールする追加のオプションについては、 以下で説明します。
+これは基本のステップです。
+構築をコントロールする追加のオプションについては、 以下で説明します。
[[updating-src-building-clean-build]]
==== クリーンビルドの実行
@@ -904,7 +956,7 @@ man:mergemaster[8] から man:etcupdate[8] に移行する際に、
[source,shell]
....
-# etcupdate bootstrap <.>
+# etcupdate extract <.>
# etcupdate diff <.>
....