diff --git a/documentation/content/ja/books/handbook/mirrors/_index.adoc b/documentation/content/ja/books/handbook/mirrors/_index.adoc index 8edc6f8bb4..8e380e887b 100644 --- a/documentation/content/ja/books/handbook/mirrors/_index.adoc +++ b/documentation/content/ja/books/handbook/mirrors/_index.adoc @@ -1,1010 +1,936 @@ --- title: 付録A FreeBSD の入手方法 part: パートV. 付録 prev: books/handbook/partv next: books/handbook/bibliography description: "FreeBSD の入手方法: CD および DVD セット, FTP サイト, Git のインストールおよび利用方法" tags: ["入手方法", "CD", "DVD", "FTP", "Git"] showBookMenu: true weight: 28 path: "/books/handbook/" --- [appendix] [[mirrors]] = FreeBSD の入手方法 :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: A :partnums: :source-highlighter: rouge :experimental: :images-path: books/handbook/mirrors/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] [[mirrors-http]] == HTTP ミラー FreeBSD の公式のソースは HTTP によって世界中のミラーサイトより入手できます。 {central-http} サイトは、HTTP および anonymous FTP 経由で利用できます。 これは、プロジェクトクラスタの管理者により運用されている数多くのコンピュータから構成されています。 GeoDNS により、ユーザには近くの利用可能なミラーが提供されます。 [[primary]] *{mirrors-primary}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-primary-email}>` 宛にお問い合わせください。 * {mirrors-primary-ftp4-http} * {mirrors-primary-ftp10-http} * {mirrors-primary-ftp14-http} [[armenia]] *{mirrors-armenia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-armenia-email}>` 宛にお問い合わせください。 * {mirrors-armenia-ftp-http} [[austria]] *{mirrors-austria}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-austria-email}>` 宛にお問い合わせください。 * {mirrors-austria-ftp-http} [[brazil]] *{mirrors-brazil}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-brazil-email}>` 宛にお問い合わせください。 * {mirrors-brazil-ftp2-http} [[bulgaria]] *{mirrors-bulgaria}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-bulgaria-email}>` 宛にお問い合わせください。 * {mirrors-bulgaria-ftp-http} / {mirrors-bulgaria-ftp-httpv6} [[czech-republic]] *{mirrors-czech}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-czech-email}>` 宛にお問い合わせください。 * {mirrors-czech-ftp-http} * {mirrors-czech-ftp2-http} [[denmark]] *{mirrors-denmark}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-denmark-email}>` 宛にお問い合わせください。 * {mirrors-denmark-ftp-http} [[france]] *{mirrors-france}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-france-email}>` 宛にお問い合わせください。 * {mirrors-france-ftp1-http} [[germany]] *{mirrors-germany}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-germany-email}>` 宛にお問い合わせください。 * http://www1.de.FreeBSD.org/freebsd/ * http://ftp2.de.FreeBSD.org/pub/FreeBSD/ * http://ftp4.de.FreeBSD.org/pub/FreeBSD/ * http://ftp7.de.FreeBSD.org/pub/FreeBSD/ [[korea]] *{mirrors-korea}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-korea-email}>` 宛にお問い合わせください。 * {mirrors-korea-ftp2-http} [[latvia]] *{mirrors-latvia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-latvia-email}>` 宛にお問い合わせください。 * {mirrors-latvia-ftp-http} [[lithuania]] *{mirrors-lithuania}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-lithuania-email}>` 宛にお問い合わせください。 * {mirrors-lithuania-ftp-http} [[netherlands]] *{mirrors-netherlands}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-netherlands-email}>` 宛にお問い合わせください。 * {mirrors-netherlands-ftp-http} [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp-http} [[russia]] *{mirrors-russia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-russia-email}>` 宛にお問い合わせください。 * {mirrors-russia-ftp-http} * {mirrors-russia-ftp2-http} * {mirrors-russia-ftp5-http} [[spain]] *{mirrors-spain}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-spain-email}>` 宛にお問い合わせください。 * {mirrors-spain-ftp-http} [[sweden]] *{mirrors-sweden}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-sweden-email}>` 宛にお問い合わせください。 * {mirrors-sweden-ftp4-http} * {mirrors-sweden-ftp6-http} [[switzerland]] *{mirrors-switzerland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-switzerland-email}>` 宛にお問い合わせください。 * {mirrors-switzerland-ftp-http} [[taiwan]] *{mirrors-taiwan}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-taiwan-email}>` 宛にお問い合わせください。 * {mirrors-taiwan-ftp2-http} * {mirrors-taiwan-ftp11-http} [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp-http} * {mirrors-ukraine-ftp6-http} [[usa]] *{mirrors-us}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-us-email}>` 宛にお問い合わせください。 * {mirrors-us-ftp4-http} * {mirrors-us-ftp13-http} * {mirrors-us-ftp14-http} [[mirrors-ftp]] == FTP サイト HTTP ミラーに加え、FreeBSD は anonymous FTP によって以下のサイトより入手できます。 FreeBSD を anonymous FTP から入手する場合には、近くのサイトを利用するようにしてください。 "一次ミラーサイト" としてあげられているサイトには、 FreeBSD の各アーキテクチャで利用可能なすべてのバージョンのアーカイブ一式が用意されていますが、 あなたが住んでいる国や地域には、 おそらくより高速にダウンロードできるサイトが用意されています。 各国のミラーサイトには、人気のあるアーキテクチャの最新のバージョンが置いてありますが、FreeBSD のアーカイブ全体はもしかするとないかもしれません。 すべてのサイトは anonymous FTP でのアクセスを提供していますが、別の方法によるアクセスを提供しているサイトもあります。 各サイトで提供しているアクセス方法は、 ホスト名に続く括弧の中に記載されています。 <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. [[central]] *{central}* * {central-ftp} (ftp / ftpv6) [[primary]] *{mirrors-primary}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-primary-email}>` 宛にお問い合わせください。 * {mirrors-primary-ftp1} * {mirrors-primary-ftp2} * {mirrors-primary-ftp3} * {mirrors-primary-ftp4} (ftp / ftpv6) * {mirrors-primary-ftp5} * {mirrors-primary-ftp6} * {mirrors-primary-ftp7} * {mirrors-primary-ftp10} (ftp / ftpv6) * {mirrors-primary-ftp11} * {mirrors-primary-ftp13} * {mirrors-primary-ftp14} [[armenia]] *{mirrors-armenia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-armenia-email}>` 宛にお問い合わせください。 * {mirrors-armenia-ftp} (ftp / rsync) [[australia]] *{mirrors-australia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-australia-email}>` 宛にお問い合わせください。 * {mirrors-australia-ftp} * {mirrors-australia-ftp2} * {mirrors-australia-ftp3} [[austria]] 問題がある場合は、このドメインのホストマスタ `<{mirrors-austria-email}>` 宛にお問い合わせください。 * {mirrors-austria-ftp} (ftp / ftpv6) [[brazil]] *{mirrors-brazil}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-brazil-email}>` 宛にお問い合わせください。 * {mirrors-brazil-ftp2} * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} [[bulgaria]] *{mirrors-bulgaria}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-bulgaria-email}>` 宛にお問い合わせください。 * {mirrors-bulgaria-ftp} (ftp / {mirrors-bulgaria-ftpv6} / rsync / rsyncv6) [[czech-republic]] *{mirrors-czech}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-czech-email}>` 宛にお問い合わせください。 * {mirrors-czech-ftp} (ftp / ftpv6 / rsync / rsyncv6) * {mirrors-czech-ftp2} [[denmark]] *{mirrors-denmark}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-denmark-email}>` 宛にお問い合わせください。 * {mirrors-denmark-ftp} (ftp / ftpv6) [[estonia]] *{mirrors-estonia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-estonia-email}>` 宛にお問い合わせください。 * {mirrors-estonia-ftp} [[finland]] *{mirrors-finland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-finland-email}>` 宛にお問い合わせください。 * {mirrors-finland-ftp} [[france]] *{mirrors-france}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-france-email}>` 宛にお問い合わせください。 * {mirrors-france-ftp} * {mirrors-france-ftp1} (ftp / rsync) * {mirrors-france-ftp3} * {mirrors-france-ftp5} * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} * {mirrors-france-ftp8} [[germany]] *{mirrors-germany}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-germany-email}>` 宛にお問い合わせください。 * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ * ftp://ftp1.de.FreeBSD.org/freebsd/ * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ [[greece]] *{mirrors-greece}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-greece-email}>` 宛にお問い合わせください。 * {mirrors-greece-ftp} * {mirrors-greece-ftp2} [[hong-kong]] *{mirrors-hongkong}* * {mirrors-hongkong-ftp} [[ireland]] *{mirrors-ireland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-ireland-email}>` 宛にお問い合わせください。 -* {mirrors-ireland-ftp} (ftp / rsync) +* {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-japan-email}>` 宛にお問い合わせください。 * {mirrors-japan-ftp} * {mirrors-japan-ftp2} * {mirrors-japan-ftp3} * {mirrors-japan-ftp4} * {mirrors-japan-ftp5} * {mirrors-japan-ftp6} * {mirrors-japan-ftp7} * {mirrors-japan-ftp8} * {mirrors-japan-ftp9} [[korea]] *{mirrors-korea}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-korea-email}>` 宛にお問い合わせください。 * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} [[latvia]] *{mirrors-latvia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-latvia-email}>` 宛にお問い合わせください。 * {mirrors-latvia-ftp} [[lithuania]] *{mirrors-lithuania}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-lithuania-email}>` 宛にお問い合わせください。 * {mirrors-lithuania-ftp} [[netherlands]] *{mirrors-netherlands}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-netherlands-email}>` 宛にお問い合わせください。 * {mirrors-netherlands-ftp} (ftp / rsync) * {mirrors-netherlands-ftp2} [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} [[norway]] *{mirrors-norway}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-norway-email}>` 宛にお問い合わせください。 -* {mirrors-norway-ftp} (ftp / rsync) +* {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-poland-email}>` 宛にお問い合わせください。 * {mirrors-poland-ftp} * ftp2.pl.FreeBSD.org -* {mirrors-netherlands-ftp-http} - + [[russia]] *{mirrors-russia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-russia-email}>` 宛にお問い合わせください。 * {mirrors-russia-ftp} (ftp / rsync) * {mirrors-russia-ftp2} (ftp / rsync) * {mirrors-russia-ftp5} (ftp / rsync) * {mirrors-russia-ftp6} [[saudi-arabia]] *{mirrors-saudi-arabia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-saudi-arabia-email}>` 宛にお問い合わせください。 * {mirrors-saudi-arabia-ftp} [[slovenia]] *{mirrors-slovenia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-slovenia-email}>` 宛にお問い合わせください。 * {mirrors-slovenia-ftp} [[south-africa]] *{mirrors-south-africa}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-south-africa-email}>` 宛にお問い合わせください。 * {mirrors-south-africa-ftp} * {mirrors-south-africa-ftp2} * {mirrors-south-africa-ftp4} [[spain]] *{mirrors-spain}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-spain-email}>` 宛にお問い合わせください。 * {mirrors-spain-ftp} * {mirrors-spain-ftp3} [[sweden]] *{mirrors-sweden}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-sweden-email}>` 宛にお問い合わせください。 * {mirrors-sweden-ftp} * {mirrors-sweden-ftp2} * {mirrors-sweden-ftp3} * {mirrors-sweden-ftp4} (ftp / ftpv6) * {mirrors-sweden-ftp6} [[switzerland]] *{mirrors-switzerland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-switzerland-email}>` 宛にお問い合わせください。 * {mirrors-switzerland-ftp} [[taiwan]] *{mirrors-taiwan}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-taiwan-email}>` 宛にお問い合わせください。 * {mirrors-taiwan-ftp} (ftp / ftpv6 / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / ftpv6 / rsync / rsyncv6) * {mirrors-taiwan-ftp4} * {mirrors-taiwan-ftp5} * {mirrors-taiwan-ftp6} (ftp / ftpv6 / rsync) * {mirrors-taiwan-ftp7} * {mirrors-taiwan-ftp8} * {mirrors-taiwan-ftp11} * {mirrors-taiwan-ftp12} * {mirrors-taiwan-ftp13} * {mirrors-taiwan-ftp14} * {mirrors-taiwan-ftp15} [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} * {mirrors-ukraine-ftp6} * {mirrors-ukraine-ftp7} [[uk]] *{mirrors-uk}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-uk-email}>` 宛にお問い合わせください。 * {mirrors-uk-ftp} * {mirrors-uk-ftp2} * {mirrors-uk-ftp3} * {mirrors-uk-ftp4} * {mirrors-uk-ftp5} [[usa]] *{mirrors-us}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-us-email}>` 宛にお問い合わせください。 * {mirrors-us-ftp} * {mirrors-us-ftp2} * {mirrors-us-ftp3} * {mirrors-us-ftp4} (ftp / ftpv6) * {mirrors-us-ftp5} * {mirrors-us-ftp6} * {mirrors-us-ftp8} * {mirrors-us-ftp10} * {mirrors-us-ftp11} * {mirrors-us-ftp13} (ftp / rsync) * {mirrors-us-ftp14} * {mirrors-us-ftp15} [[git]] == Git の利用 [[git-intro]] === はじめに -2020 年 12 月から、FreeBSD はソースコード、ドキュメントのすべてを管理するメインのバージョン管理システムに git を使っています。 -2021 年 4 月から、FreeBSD は Ports Collection のすべてを管理するバージョン管理システムに git を使っています。 +2020 年 12 月、FreeBSD はソースコード、ドキュメントのすべてを管理するメインのバージョン管理システムを git に移行しました。 +2021 年 4 月、FreeBSD は Ports Collection のすべてを管理するバージョン管理システムを git に移行しました。 [NOTE] ==== 一般的には Git は開発用ツールです。 -ユーザによっては、FreeBSD ベースシステムのアップデートに `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD Update”])、 -FreeBSD Ports Collection のアップデートに `portsnap` (crossref:ports[ports-using,“Ports Collection の利用”]) を好んで使用するでしょう。 +ユーザは好みに合わせて、FreeBSD ベースシステムのアップデートに `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD Update”])、 +FreeBSD Ports Collection のアップデートに `portsnap` (crossref:ports[ports-using,“Ports Collection の利用”]を使用できます。 ==== -この章では、FreeBSD 上への Git のインストール方法および、 -FreeBSD リポジトリのローカルコピーの作成方法について説明します。 -Git の使用方法についても紹介します。 +この章では、FreeBSD への Git のインストール方法および FreeBSD ソースコードリポジトリのローカルコピーの作成方法について説明します。 [[git-install]] === インストール -package を使って Git をインストールできます。 +Ports Collection または package を使って Git をインストールできます。 [source,shell] .... # pkg install git .... -Ports Collection からも Git をインストールできます。 - -[source,shell] -.... -# cd /usr/ports/devel/git -# make install clean -.... - [[git-usage]] === Git の実行 -ソースコードをローカルディレクトリに新しくコピーするには、`git` を使ってください。 +ソースコードをローカルディレクトリに新しくコピーするには、`git clone` を使ってください。 このファイルのあるディレクトリのことを _ワークツリー_ と呼びます。 -[WARNING] -==== - -コピー先のディレクトリが既に存在する場合は、`git clone` をはじめて使う前にディレクトリを移動するか削除してください。 -git 以外の方法で用意されたディレクトリに対するリポジトリのクローンは失敗するでしょう。 -==== - -Git は、リポジトリの指定に _protocol://hostname/path_ 形式の URL を用います。 -path の最初でアクセスする FreeBSD リポジトリを指定します。 +Git は、リポジトリの指定に URL を用います。 リポジトリには `base`, `doc` および `ports` の 3 種類あります。 `base` は FreeBSD ベースシステムのソースコード、`doc` はドキュメント、そして `ports` は FreeBSD Ports Collection のリポジトリです。 -たとえば、`https://git.FreeBSD.org/src.git` という URL は、`https` プロトコルによる src リポジトリの main ブランチを示します。 +これら 3 つのリポジトリはすべて HTTPS および SSH という 2 つの異なるプロトコル経由でアクセスできます。 +たとえば、`https://git.FreeBSD.org/src.git` という URL は、`https` プロトコルによる `src` リポジトリの main ブランチを示します。 [[git-url-table]] .FreeBSD Git リポジトリの URL テーブル [options="header,footer"] |======================================================= |項目 | Git URL -| ウェブベースの src リポジトリブラウザ | `https://cgit.freebsd.org/src` -| HTTPS 経由の読み取り専用 src リポジトリ | `https://git.freebsd.org/src.git` -| Anonymous ssh による読み取り専用 src リポジトリ | `ssh://anongit@git.freebsd.org/src.git` -| コミッタのための読み取り/書き込み用 src リポジトリ | `ssh://git@gitrepo.freebsd.org/src.git` (*) -| ウェブベースの doc リポジトリブラウザ | `https://cgit.freebsd.org/doc` -| HTTPS 経由の読み取り専用 doc リポジトリ | `https://git.freebsd.org/doc.git` -| Anonymous ssh による読み取り専用 doc リポジトリ | `ssh://anongit@git.freebsd.org/doc.git` -| コミッタのための読み取り/書き込み用 doc リポジトリ | `ssh://git@gitrepo.freebsd.org/doc.git` (*) -| ウェブベースの ports リポジトリブラウザ | `https://cgit.freebsd.org/ports` -| HTTPS 経由の読み取り専用 ports リポジトリ| `https://git.freebsd.org/ports.git` -| Anonymous ssh による読み取り専用 ports リポジトリ | `ssh://anongit@git.freebsd.org/ports.git` -| コミッタのための読み取り/書き込み用 ports リポジトリ | `ssh://git@gitrepo.freebsd.org/ports.git` (*) +| 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` |======================================================= - - (*) `git` は、リポジトリサーバ上の特別なユーザです。 -リポジトリサーバは、FreeBSD.org に登録されている ssh 鍵からユーザを識別するので、変更する必要はありません。 - -[WARNING] -==== -git への移行完了後、`gitrepo.freebsd.org` は単純な `repo.freebsd.org` に変更される予定です。 -==== - -利用開始には、FreeBSD リポジトリを clone してください。 - -[source,shell] -.... -# git clone -o freebsd [ -b branch ] https://git.FreeBSD.org/repo.git wcdir -.... - -ここで -* _repo_ は、プロジェクトリポジトリの `src`, `ports`, または `doc` のどれかになります。 -* _branch_ は、使用しているリポジトリに依存します。 -`ports` および `doc` では、ほとんどの変更が `main` ブランチで行われる一方で、`src` では -CURRENT の最新版を `main` で管理し、各 -STABLE ブランチの最新版を `stable/12` (12._x_) および `stable/13` (13._x_) で管理しています。 -* _wcdir_ は、指定したブランチの内容が置かれるターゲットディレクトリです。 -通常、`ports` では [.filename]#/usr/ports#、 `src` では [.filename]#/usr/src#、そして `doc` では [.filename]#/usr/doc# です。 -* _freebsd_ は、使用する origin の名前です。 -FreeBSD のドキュメントの慣例で、origin は `freebsd` とします。 +プロジェクトのメンバーが管理する外部のミラーも存在します。 +<> の節を参照してください。 -この例では、FreeBSD リポジトリからシステムのソースの 'main' ブランチを HTTPS プロトコルを用いてチェックアウトし、ローカルのワーキングコピーを [.filename]#/usr/src# に作成します。 -もし、[.filename]#/usr/src# がすでに存在していて、`git` により作成されたものでなければ、チェックアウトの前に、名前を変更するか削除しておいてください。 -そうでなければ、git は何も行わないでしょう。 +FreeBSD システムのソースコードリポジトリを clone するには、以下のコマンドを実行してください。 [source,shell] .... # git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src .... +ここで `-o freebsd` オプションは origin を指定します。 +FreeBSD のドキュメントの慣例で、origin は `freebsd` とします。 初めてチェックアウトする際には、リモートリポジトリのすべてのブランチをダウンロードするので時間がかかります。 -初めてのチェックアウト後は、 以下を実行することでローカルのワーキングコピーをアップデートできます。 - +ワーキングツリーには最初、CURRENT に対応する `main` ブランチのソースコードがダウンロードされます。 +13-STABLE に変更するには以下のように実行してください。 [source,shell] .... -# cd wcdir -# git pull --rebase +# cd /usr/src +# git checkout stable/13 .... -この例で作成された [.filename]#/usr/src# をアップデートするには、以下のようになります。 +ワーキングツリーは、`git pull` によりアップデートできます。 +上記の例で作成された [.filename]#/usr/src# をアップデートするには、以下のようになります。 [source,shell] .... # cd /usr/src # git pull --rebase .... チェックアウトと比較すると、このアップデートでは変更点のあるファイルのみが転送されるので高速です。 -プロジェクトのメンバーが管理する外部のミラーも存在します。 -<> の節を参照してください。 - -=== SSH 関連情報 - -* `ssh://${user}@${url}/${repo}.git` は、`${user}@${url}:${repo}.git` と書くこともできます。すなわち git 上では以下の二つの URL は両方とも使えます。 --- -** `ssh://anongit@git.freebsd.org/${repo}.git` -** `anongit@git.freebsd.org:${repo}.git` - -読み書き用リポジトリでも同様です。 - -** `ssh://git@(git)repo.freebsd.org/${repo}.git` -** `git@(git)repo.freebsd.org:${repo}.git` --- - -* 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 レコードとしても公開されています。 - === ウェブベースのリポジトリブラウザ -FreeBSD プロジェクトは、現在 cgit をウェブベースのリポジトリブラウザ (https://cgit.freebsd.org/) として使用しています。 -各リポジトリの URL は、<> にまとめられています。 - -=== ユーザ向けの説明 - -公式の配布用のミラーから`git clone` および `git pull` することが推奨されています。 -GeoDNS により、近くの利用可能なミラーがユーザに提供されます。 +FreeBSD プロジェクトは、現在 cgit をウェブベースのリポジトリブラウザ (link:https://cgit.FreeBSD.org/[https://cgit.FreeBSD.org/]) として使用しています。 === 開発者向けの説明 -extref:{committers-guide}[Committer's Guide, git-mini-primer] をご覧ください。 +リポジトリへの書き込みアクセスについてはの詳細は、extref:{committers-guide}[Committer's Guide, git-mini-primer] をご覧ください。 [[external-mirrors]] === 外部ミラー -FreeBSD.org は以下のミラーを管理しておらず、プロジェクトのメンバーが現在も維持しています。 +FreeBSD.org は以下のミラーを管理していませんが、プロジェクトのメンバーが現在も維持しています。 ユーザおよび開発者は自由にこれらのミラーのリポジトリを pull したりブラウザで見ることができます。 -これらのミラーとのプロジェクトワークフローは議論中です。 +`doc` GitHub リポジトリへの pull request は accept されますが、 +それ以外について、これらのミラーとのプロジェクトワークフローは議論中です。 -==== Codeberg +Codeberg:: - doc: https://codeberg.org/FreeBSD/freebsd-doc - ports: https://codeberg.org/FreeBSD/freebsd-ports - src: https://codeberg.org/FreeBSD/freebsd-src -==== GitHub +GitHub:: - doc: https://github.com/freebsd/freebsd-doc - ports: https://github.com/freebsd/freebsd-ports - src: https://github.com/freebsd/freebsd-src -==== GitLab +GitLab:: - doc: https://gitlab.com/FreeBSD/freebsd-doc - ports: https://gitlab.com/FreeBSD/freebsd-ports - src: https://gitlab.com/FreeBSD/freebsd-src === メーリングリスト -FreeBSD プロジェクトにおける git の一般的な使用方法や質問について: https://lists.freebsd.org/subscription/freebsd-git[freebsd-git] +FreeBSD プロジェクトにおける git の一般的な使用方法や質問についてのメインのメーリングリストは https://lists.freebsd.org/subscription/freebsd-git[freebsd-git] です。 +コミットメッセージの一覧などの詳細については、crossref:handbook/eresources[eresources-mail, メーリングリスト] の章をご覧ください。 + +=== SSH ホスト鍵 -コミットメッセージは以下のメーリングリストに送信されます。 +* gitrepo.FreeBSD.org ホスト鍵のフィンガープリント: +** ECDSA 鍵のフィンガープリントは `SHA256:seWO5D27ySURcx4bknTNKlC1mgai0whP443PAKEvvZA` です。 +** ED25519 鍵のフィンガープリントは `SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo` です。 +** RSA 鍵のフィンガープリントは `SHA256:f453CUEFXEJAXlKeEHV+ajJfeEfx9MdKQUD7lIscnQI` です。 -- https://lists.freebsd.org/scubsciption/listinfo/dev-commits-doc-all[dev-commits-doc-all]: doc リポジトリに対するすべての変更 -- https://lists.freebsd.org/scubsciption/listinfo/dev-commits-ports-all[dev-commits-ports-all]: ports リポジトリに対するすべての変更 -- https://lists.freebsd.org/scubsciption/listinfo/dev-commits-ports-main[dev-commits-ports-main]: ports リポジトリの "main" ブランチに対するすべての変更 -- https://lists.freebsd.org/scubsciption/listinfo/dev-commits-ports-branches[dev-commits-ports-branches]: ports リポジトリの quarterly ブランチに対するすべての変更 -- https://lists.freebsd.org/scubsciption/listinfo/dev-commits-src-all[dev-commits-src-all]: src リポジトリに対するすべての変更 -- https://lists.freebsd.org/scubsciption/listinfo/dev-commits-src-main[dev-commits-src-main]: src リポジトリの "main" ブランチ (FreeBSD-CURRENT ブランチ) に対するすべての変更 -- https://lists.freebsd.org/scubsciption/listinfo/dev-commits-src-branches[dev-commits-src-branches]: src リポジトリの stable ブランチに対するすべての変更 +* git.FreeBSD.org ホスト鍵のフィンガープリント: +** ECDSA 鍵のフィンガープリントは `SHA256:/UlirUAsGiitupxmtsn7f9b7zCWd0vCs4Yo/tpVWP9w` です。 +** ED25519 鍵のフィンガープリントは `SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE` です。 +** RSA 鍵のフィンガープリントは `SHA256:jBe6FQGoH4HjvrIVM23dcnLZk9kmpdezR/CvQzm7rJM` です。 -詳細については、ハンドブックの C.2. 「メーリングリスト」 crossref:handbook/eresources/[eresources-mail, Mailing lists] の "コミットメッセージリスト" の節を参照してください。 +これらは DNS の SSHFP レコードとしても公開されています。 [[svn]] == Subversion の利用 [[svn-intro]] === はじめに 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 に移行しました。 [NOTE] ==== -一般的には Subversion は開発者向けのツールです。 ユーザは好みに応じて、FreeBSD のベースシステムのアップデートに `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,「FreeBSD Update」])、Ports Collection のアップデートには `portsnap` (crossref:ports[ports-using,「Ports Collection の利用」]) を使用できます。 2021 年 3 月以降、subversion はレガシーブランチ (`stable/11` および `stable/12`) でのみ使用されます。 ==== この節では、FreeBSD システムへの Subversion のインストール方法、および FreeBSD リポジトリをローカルに作成する方法について説明します。 さらに Subversion を利用するための情報についても紹介します。 [[svn-svnlite]] === Svnlite FreeBSD には、Subversion より軽い `svnlite` がインストールされています。 Subversion の port または package は、Python もしくは Perl API が必要な時や、最新の Subversion を使用したい時のみ必要となります。 通常の Subversion と、 `svnlite` との違いは、 使用する時のコマンド名が異なるだけです。 [[svn-install]] === インストール `svnlite` を利用できない場合や、 フルバージョンの Subversion を使いたいのであれば、 事前に Subversion をインストールしておく必要があります。 Subversion は Ports Collection からインストールできます。 [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... package を使って Subversion をインストールすることもできます。 [source,shell] .... # pkg install subversion .... [[svn-usage]] === Subversion の実行 ローカルディレクトリにソースコードをダウンロードするには、 `svn` コマンドを使ってください。 このディレクトリにあるファイルを、 _ローカル作業コピー_ と呼びます。 [WARNING] ==== `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 リポジトリのメインブランチを示しています。 以下のように入力して、リポジトリからチェックアウトしてください。 [source,shell] .... # 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` は [.filename]#/usr/ports#、 `base` は [.filename]#/usr/src#、 そして `doc` では [.filename]#/usr/doc# と指定します。 以下の例では、ソースツリーを FreeBSD リポジトリから HTTPS プロトコルを使ってチェックアウトします。 それらは、[.filename]#/usr/src# のローカル作業コピーに置かれます。 もし [.filename]#/usr/src# がすでに存在していて、それが `svn` によって生成されたものでなければ、チェックアウトする前に、名前を変更するか削除してください。 [source,shell] .... # svn checkout https://svn.FreeBSD.org/base/head /usr/src .... 初めてチェックアウトする際には、 リモートリポジトリのすべてのブランチをダウンロードする必要があるので、時間がかかります。 我慢してください。 初めてのチェックアウト後は、 以下を実行することでローカル作業コピーをアップデートできます。 [source,shell] .... # svn update lwcdir .... この例で作成された [.filename]#/usr/src# をアップデートするには、 以下のようにしてください。 [source,shell] .... # svn update /usr/src .... アップデートはチェックアウトにくらべ、 変更点のあるファイルのみが転送されるので高速です。 チェックアウト後、ローカル作業コピーをアップデートするもうひとつの方法は、 [.filename]#/usr/ports#, [.filename]#/usr/src# または [.filename]#/usr/doc# ディレクトリの [.filename]#Makefile# で提供されています。 `SVN_UPDATE` を設定して `update` ターゲットを使ってください。 たとえば、[.filename]#/usr/src# をアップデートするには、以下のようにしてください。 [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Subversion ミラーサイト FreeBSD Subversion リポジトリは、 [.programlisting] .... svn.FreeBSD.org .... です。これは、公にアクセス可能なミラーネットワークで、 GeoDNS を用いて適切なバックエンドサーバを選択しています。 ブラウザを用いて FreeBSD の Subversion リポジトリを参照するには、link:https://svnweb.FreeBSD.org/[https://svnweb.FreeBSD.org/] を利用してください。 HTTPS は推奨されているプロトコルです。 自動的に証明書を検証するために、package:security/ca_root_nss[] port をインストールする必要があります。 === より詳しい情報 Subversion の利用に関する他の情報は、 http://svnbook.red-bean.com/[Version Control with Subversion] や http://subversion.apache.org/docs/[Subversion Documentation] といった "Subversion Book" をご覧ください。 [[mirrors-rsync]] == rsync を使用する 次のサイトは、FreeBSD を rsync プロトコルで提供しています。 rsync ユーティリティは送り側と受け側の差分だけを転送します。 FreeBSD FTP サーバのミラーサイトを作成する時に便利でしょう。 rsync は、多くのオペレーティングシステムで 利用することができます。 FreeBSD 版は、package:net/rsync[] の port か、package を使ってください。 チェコ共和国:: rsync://ftp.cz.FreeBSD.org/ + 提供しているコレクション: ** ftp: FreeBSD FTP サーバの部分ミラー ** FreeBSD: FreeBSD FTP サーバの全体ミラー ドイツ:: rsync://rsync3.de.FreeBSD.org/freebsd/ オランダ:: rsync://ftp.nl.FreeBSD.org/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー ロシア:: rsync://ftp.mtu.ru/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー ** FreeBSD-Archive: FreeBSD アーカイブ FTP サーバのミラー スウェーデン:: rsync://ftp4.se.freebsd.org/ + -- 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー -- + {mirrors-sweden-ftp2-rsync} + {mirrors-sweden-ftp4-rsync} + {mirrors-sweden-ftp4-rsyncv6} 台湾:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー ウクライナ:: {mirrors-ukraine-ftp6-rsync} イギリス:: rsync://rsync.mirrorservice.org/ + -- 提供しているコレクション: ** ftp.freebsd.org: FreeBSD FTP サーバの全体ミラー -- + {mirrors-uk-ftp2-rsync} アメリカ合衆国:: rsync://ftp-master.FreeBSD.org/ + このサーバは、FreeBSD の一次ミラーサイトとしてのみ使われています。 + 提供しているコレクション: + -- ** FreeBSD: FreeBSD FTP サーバのマスタアーカイブ ** acl: The FreeBSD マスタ ACL リスト -- + rsync://ftp13.FreeBSD.org/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー [[mirrors-cdrom]] == CD および DVD セット FreeBSD の CD および DVD のセットは以下のオンライン業者から入手できます。 * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: https://www.freebsdmall.com * Getlinux + 78 Rue de la Croix Rochopt + Épinay-sous-Sénart + 91860 + France + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Phone: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html