# 付録A FreeBSD の入手方法

This translation may be out of date. To help with the translations please access the FreeBSD translations instance.

## A.1. Mirrors

FreeBSD の公式のミラーサイトは、プロジェクトクラスタの管理者により運用されている数多くのコンピュータから構成されています。 GeoDNS により、ユーザには近くの利用可能なミラーが提供されます。 現在ミラーサイトが置かれている地域は、オーストラリア、ブラジル、ドイツ、日本 (2 つのサイト)、マレーシア、オランダ、南アフリカ、台湾、英国、アメリカ合衆国 (カリフォルニア、ニュージャージーおよびワシントン) です。

公式のミラーサービス:

サービス名 | プロトコル | 備考
--- | --- | ---
download.FreeBSD.org | https ftp | `ftp.FreeBSD.org` と同じ内容です。`ftp` は古い名前なので、`download.FreeBSD.org` が推奨されます。
git.FreeBSD.org | `https` および `ssh` 経由の git | 詳細については、git の利用 の節を参照してください。
pkg.FreeBSD.org | `http` および `https` 経由の pkg(8) | pkg(8) プログラムにより利用される公式の FreeBSD package リポジトリ
vuxml.FreeBSD.org / www.VuXML.org | https | FreeBSD プロジェクトの VuXML ウェブページ。`pkg audit` はこのサービスから脆弱性に関する一覧をダウンロードします。

すべての公式のミラーは、IPv4 および IPv6 に対応しています。

FreeBSD のウェブサイト (https://www.FreeBSD.org および https://docs.FreeBSD.org) は、GeoDNS インフラストラクチャでは運用されていません。 この実装は、進行中の課題です。

http://ftp-archive.FreeBSD.org は GeoDNS インフラストラクチャではなく、一つ地域 (US) でのみ運用されています。

プロジェクトでは、新しい地域やスポンサーを募集しています。 クラスター管理チームまで連絡してください。

コミュニティおよび他の会社により管理されているミラーの一覧:

国 | ホスト名 | プロトコル
--- | --- | ---
オーストラリア | ftp.au.FreeBSD.org | http http_v6 rsync rsync_v6
| ftp3.au.FreeBSD.org | http ftp rsync
オーストリア | ftp.at.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
ブラジル | ftp2.br.FreeBSD.org | http rsync rsync_v6
| ftp3.br.FreeBSD.org | http ftp rsync
ブルガリア | ftp.bg.FreeBSD.org | ftp ftp_v6 rsync rsync_v6
チェコ共和国 | ftp.cz.FreeBSD.org | http http_v6 rsync rsync_v6
デンマーク | ftp.dk.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
フィンランド | ftp.fi.FreeBSD.org | ftp
フランス | ftp.fr.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp3.fr.FreeBSD.org | ftp
| ftp6.fr.FreeBSD.org | http ftp rsync
ドイツ | ftp.de.FreeBSD.org | ftp ftp_v6 rsync rsync_v6
| ftp1.de.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp2.de.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp5.de.FreeBSD.org | ftp ftp_v6
| ftp7.de.FreeBSD.org | http http_v6 ftp ftp_v6
ギリシャ | ftp.gr.FreeBSD.org | http http_v6 ftp ftp_v6
| ftp2.gr.FreeBSD.org | http http_v6 ftp ftp_v6 rsync
日本 | ftp.jp.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp2.jp.FreeBSD.org | ftp rsync rsync_v6
| ftp3.jp.FreeBSD.org | http rsync
| ftp4.jp.FreeBSD.org | ftp
| ftp6.jp.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
韓国 | ftp.kr.FreeBSD.org | http https ftp rsync
| ftp2.kr.FreeBSD.org | rsync
ラトビア | ftp.lv.FreeBSD.org | http ftp
オランダ | ftp.nl.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp2.nl.FreeBSD.org | http ftp rsync
ニュージーランド | ftp.nz.FreeBSD.org | http ftp
ノルウェー | ftp.no.FreeBSD.org | ftp ftp_v6 rsync rsync_v6
ポーランド | ftp.pl.FreeBSD.org | http http_v6 ftp rsync rsync_v6
ロシア | ftp.ru.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp2.ru.FreeBSD.org | https ftp rsync
スロベニア | ftp.si.FreeBSD.org | http http_v6 ftp ftp_v6
南アフリカ | ftp.za.FreeBSD.org | https https_v6 rsync rsync_v6
| ftp2.za.FreeBSD.org | http http_v6 ftp_v6
| ftp4.za.FreeBSD.org | http ftp rsync
スウェーデン | ftp.se.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
台湾 | ftp4.tw.FreeBSD.org | https ftp rsync
| ftp5.tw.FreeBSD.org | http ftp
ウクライナ | ftp.ua.FreeBSD.org | http ftp ftp_v6 rsync rsync_v6
英国 | ftp.uk.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp2.uk.FreeBSD.org | http http_v6 https https_v6 ftp ftp_v6
アメリカ合衆国 | ftp11.FreeBSD.org | http http_v6 ftp ftp_v6 rsync rsync_v6
| ftp14.FreeBSD.org | ftp rsync (Former official tier 1)
| ftp5.FreeBSD.org | http http_v6 ftp ftp_v6

コミュニティのミラーによりサポートされているプロトコル一覧は、2022-01-31 に更新されました。 この一覧は保証されているわけではありません。

## A.2. Git の利用

### A.2.1. はじめに

2020 年 12 月、FreeBSD はソースコード、ドキュメントのすべてを管理するメインのバージョン管理システムを git に移行しました。 2021 年 4 月、FreeBSD は Ports Collection のすべてを管理するバージョン管理システムを git に移行しました。

| 一般的には Git は開発用ツールです。 ユーザは好みに合わせて、FreeBSD ベースシステムのアップデートに `freebsd-update` (“FreeBSD Update”)、 FreeBSD Ports Collection のアップデートに `git` (“Ports Collection の利用”を使用できます。

この章では、FreeBSD への Git のインストール方法および FreeBSD ソースコードリポジトリのローカルコピーの作成方法について説明します。

### A.2.2. インストール

Ports Collection または package を使って Git をインストールできます。

    # pkg install git

### A.2.3. Git の実行

ソースコードをローカルディレクトリに新しくコピーするには、`git clone` を使ってください。 このファイルのあるディレクトリのことを ワークツリー と呼びます。

Git は、リポジトリの指定に URL を用います。 リポジトリには `base`, `doc` および `ports` の 3 種類あります。 `base` は FreeBSD ベースシステムのソースコード、`doc` はドキュメント、そして `ports` は FreeBSD Ports Collection のリポジトリです。 これら 3 つのリポジトリはすべて HTTPS および SSH という 2 つの異なるプロトコル経由でアクセスできます。 たとえば、`https://git.FreeBSD.org/src.git` という URL は、`https` プロトコルによる `src` リポジトリの main ブランチを示します。

表 1. FreeBSD Git リポジトリの URL テーブル
項目 | Git URL
--- | ---
HTTPS 経由の読み取り専用 src リポジトリ | `https://git.FreeBSD.org/src.git`
Anonymous ssh による読み取り専用 src リポジトリ | `ssh://anongit@git.FreeBSD.org/src.git`
HTTPS 経由の読み取り専用 doc リポジトリ | `https://git.FreeBSD.org/doc.git`
Anonymous ssh による読み取り専用 doc リポジトリ | `ssh://anongit@git.FreeBSD.org/doc.git`
HTTPS 経由の読み取り専用 ports リポジトリ | `https://git.FreeBSD.org/ports.git`
Anonymous ssh による読み取り専用 ports リポジトリ | `ssh://anongit@git.FreeBSD.org/ports.git`

プロジェクトのメンバーが管理する外部のミラーも存在します。 外部ミラー の節を参照してください。

FreeBSD システムのソースコードリポジトリを clone するには、以下のコマンドを実行してください。

    # git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src

ここで `-o freebsd` オプションは origin を指定します。 FreeBSD のドキュメントの慣例で、origin は `freebsd` とします。 初めてチェックアウトする際には、リモートリポジトリのすべてのブランチをダウンロードするので時間がかかります。

ワーキングツリーには最初、CURRENT に対応する `main` ブランチのソースコードがダウンロードされます。 13-STABLE に変更するには以下のように実行してください。

    # cd /usr/src
    # git checkout stable/13

ワーキングツリーは、`git pull` によりアップデートできます。 上記の例で作成された /usr/src をアップデートするには、以下のようになります。

    # cd /usr/src
    # git pull --rebase

チェックアウトと比較すると、このアップデートでは変更点のあるファイルのみが転送されるので高速です。

### A.2.4. ウェブベースのリポジトリブラウザ

FreeBSD プロジェクトは、現在 cgit をウェブベースのリポジトリブラウザ (https://cgit.FreeBSD.org/) として使用しています。

### A.2.5. 開発者向けの説明

リポジトリへの書き込みアクセスについてはの詳細は、Committer’s Guide をご覧ください。

### A.2.6. 外部ミラー

FreeBSD.org は以下のミラーを管理していませんが、プロジェクトのメンバーが現在も維持しています。 ユーザおよび開発者は自由にこれらのミラーのリポジトリを pull したりブラウザで見ることができます。 `doc` GitHub リポジトリへの pull request は accept されますが、 それ以外について、これらのミラーとのプロジェクトワークフローは議論中です。

Codeberg

  - doc: https://codeberg.org/FreeBSD/freebsd-doc

  - ports: https://codeberg.org/FreeBSD/freebsd-ports

  - src: https://codeberg.org/FreeBSD/freebsd-src

GitHub

  - doc: https://github.com/freebsd/freebsd-doc

  - ports: https://github.com/freebsd/freebsd-ports

  - src: https://github.com/freebsd/freebsd-src

GitLab

  - doc: https://gitlab.com/FreeBSD/freebsd-doc

  - ports: https://gitlab.com/FreeBSD/freebsd-ports

  - src: https://gitlab.com/FreeBSD/freebsd-src

### A.2.7. メーリングリスト

FreeBSD プロジェクトにおける git の一般的な使用方法や質問についてのメインのメーリングリストは freebsd-git です。 コミットメッセージの一覧などの詳細については、メーリングリスト の章をご覧ください。

### A.2.8. SSH ホスト鍵

- gitrepo.FreeBSD.org ホスト鍵のフィンガープリント:

  - ECDSA 鍵のフィンガープリントは `SHA256:seWO5D27ySURcx4bknTNKlC1mgai0whP443PAKEvvZA` です。

  - ED25519 鍵のフィンガープリントは `SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo` です。

  - RSA 鍵のフィンガープリントは `SHA256:f453CUEFXEJAXlKeEHV+ajJfeEfx9MdKQUD7lIscnQI` です。

- git.FreeBSD.org ホスト鍵のフィンガープリント:

  - ECDSA 鍵のフィンガープリントは `SHA256:/UlirUAsGiitupxmtsn7f9b7zCWd0vCs4Yo/tpVWP9w` です。

  - ED25519 鍵のフィンガープリントは `SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE` です。

  - RSA 鍵のフィンガープリントは `SHA256:jBe6FQGoH4HjvrIVM23dcnLZk9kmpdezR/CvQzm7rJM` です。

これらは DNS の SSHFP レコードとしても公開されています。

## A.3. Subversion の利用

### A.3.1. はじめに

2020 年 12 月より、FreeBSD のソースコード、ドキュメントのすべてを管理するメインのバージョン管理システムは git に移行しました。 git リポジトリの `stable/11`, `stable/12` および関連するリリースのブランチは、subversion リポジトリにエクスポートされます。 このエクスポートは、各ブランチの保守終了予定日まで行われる予定です。 2012 年 7 月から 2021 年 3 月までの間 FreeBSD は、FreeBSD Ports Collection のすべてを管理するバージョン管理システムに Subversion を使用していました。 2021 年 4 月より、FreeBSD の Ports Collection のすべてを管理するメインのバージョン管理システムは git に移行しました。

| -一般的には Subversion は開発者向けのツールです。 ユーザは好みに応じて、FreeBSD のベースシステムのアップデートに `freebsd-update` (「FreeBSD Update」)、Ports Collection のアップデートには `git` (「Ports Collection の利用」) を使用できます。 2021 年 3 月以降、subversion はレガシーブランチ (`stable/11` および `stable/12`) でのみ使用されます。

この節では、FreeBSD システムへの Subversion のインストール方法、および FreeBSD リポジトリをローカルに作成する方法について説明します。 さらに Subversion を利用するための情報についても紹介します。

### A.3.2. Svnlite

FreeBSD には、Subversion より軽い `svnlite` がインストールされています。 Subversion の port または package は、Python もしくは Perl API が必要な時や、最新の Subversion を使用したい時のみ必要となります。

通常の Subversion と、 `svnlite` との違いは、 使用する時のコマンド名が異なるだけです。

### A.3.3. インストール

`svnlite` を利用できない場合や、 フルバージョンの Subversion を使いたいのであれば、 事前に Subversion をインストールしておく必要があります。

Subversion は Ports Collection からインストールできます。

    # cd /usr/ports/devel/subversion
    # make install clean

package を使って Subversion をインストールすることもできます。

    # pkg install subversion

### A.3.4. Subversion の実行

ローカルディレクトリにソースコードをダウンロードするには、 `svn` コマンドを使ってください。 このディレクトリにあるファイルを、 ローカル作業コピー と呼びます。

| `checkout` をはじめて使う前に、 ローカルディレクトリを移動するか削除してください。 `svn` 以外の方法で用意されたディレクトリでチェックアウトすると、 すでに存在するファイルと、 リポジトリから持ってきたファイルとの間で衝突が起きてしまいます。

Subversion では、リポジトリの指定に protocol://hostname/path 形式の URL を用います。 以下に記載されているように、 アクセスする FreeBSD リポジトリは、パス (path) の最初で指定します。 リポジトリは 3 つあります。 `base` は FreeBSD ベースシステムのソースコード、`ports` は Ports Collection、 そして `doc` はドキュメントのリポジトリです。 たとえば、`https://svn.FreeBSD.org/base/head/` という URL は、`https` プロトコルによる src リポジトリのメインブランチを示しています。

以下のように入力して、リポジトリからチェックアウトしてください。

    # svn checkout https://svn.FreeBSD.org/repository/branch lwcdir

ここで、repository, branch および root は以下のとおりです。

- repository には、 プロジェクトリポジトリの `base`, `ports` または `doc` のどれかひとつを指定します。

- branch は、使うリポジトリによります。 `ports` および `doc` では、ほとんどの変更が `head` ブランチで行われます。 `base` リポジトリでは、`head` ブランチで -CURRENT の最新バージョンを管理しています。 -STABLE ブランチの最新バージョンは、 11.x は `stable/11`, そして 12.x は `stable/12` で管理しています。

- lwcdir は、 指定したブランチの中身が置かれるターゲットのディレクトリです。 通常 `ports` は /usr/ports、 `base` は /usr/src、 そして `doc` では /usr/doc と指定します。

以下の例では、ソースツリーを FreeBSD リポジトリから HTTPS プロトコルを使ってチェックアウトします。 それらは、/usr/src のローカル作業コピーに置かれます。 もし /usr/src がすでに存在していて、それが `svn` によって生成されたものでなければ、チェックアウトする前に、名前を変更するか削除してください。

    # svn checkout https://svn.FreeBSD.org/base/head /usr/src

初めてチェックアウトする際には、 リモートリポジトリのすべてのブランチをダウンロードする必要があるので、時間がかかります。 我慢してください。

初めてのチェックアウト後は、 以下を実行することでローカル作業コピーをアップデートできます。

    # svn update lwcdir

この例で作成された /usr/src をアップデートするには、 以下のようにしてください。

    # svn update /usr/src

アップデートはチェックアウトにくらべ、 変更点のあるファイルのみが転送されるので高速です。

チェックアウト後、ローカル作業コピーをアップデートするもうひとつの方法は、 /usr/ports, /usr/src または /usr/doc ディレクトリの Makefile で提供されています。 `SVN_UPDATE` を設定して `update` ターゲットを使ってください。 たとえば、/usr/src をアップデートするには、以下のようにしてください。

    # cd /usr/src
    # make update SVN_UPDATE=yes

### A.3.5. Subversion ミラーサイト

FreeBSD Subversion リポジトリは、

    svn.FreeBSD.org

です。これは、公にアクセス可能なミラーネットワークで、 GeoDNS を用いて適切なバックエンドサーバを選択しています。 ブラウザを用いて FreeBSD の Subversion リポジトリを参照するには、https://svnweb.FreeBSD.org/ を利用してください。

HTTPS は推奨されているプロトコルです。 自動的に証明書を検証するために、security/ca_root_nss port をインストールする必要があります。

### A.3.6. より詳しい情報

Subversion の利用に関する他の情報は、 Version Control with Subversion や Subversion Documentation といった "Subversion Book" をご覧ください。

## A.4. CD および DVD セット

FreeBSD の CD および DVD のセットは以下のオンライン業者から入手できます。

- FreeBSD Mall, Inc.
  1164 Claremont Dr
  Brentwood, CA
  94513
  USA
  Phone: +1 925 240-6652
  Fax: +1 925 674-0821
  Email: info@freebsdmall.com
  WWW: https://www.freebsdmall.com

- Getlinux
  WWW: https://www.getlinux.fr/

- Dr. Hinner EDV
  Schäftlarnstr. 10 // 4. Stock
  D-81371 München
  Germany
  Phone: +49 171 417 544 6
  Email: infow@hinner.de
  WWW: http://www.hinner.de/linux/freebsd.html

最終更新日: 2025年2月18日 by Fernando Apesteguía

Prev
Home
Next