附录 A. 获取 FreeBSD

如果发现翻译错误,请直接 发起PR修改

A.1. 镜像

FreeBSD 项目的官方镜像由项目集群管理员操作的多台机器组成,并且通过 GeoDNS 进行管理,以将用户引导到最近的可用镜像。当前的镜像位置包括澳大利亚、巴西、德国、日本(两个站点)、马来西亚、南非、中国台湾、英国和美国(加利福尼亚州、新泽西州和华盛顿州)。

官方镜像服务:

服务名称 协议 更多信息

docs.FreeBSD.org

https

FreeBSD 文档门户网站。

download.FreeBSD.org

https ftp

ftp.FreeBSD.org 相同的内容,ftp 是一个遗留的名称;推荐使用 download.FreeBSD.org

git.FreeBSD.org

通过 httpsssh 使用 git

更多详细信息请参考 using git 部分。

pkg.FreeBSD.org

pkg(8) 可以通过 httphttps 进行下载。

pkg(8) 程序使用的官方 FreeBSD 软件包仓库。

vuxml.FreeBSD.org / www.VuXML.org

https

FreeBSD 项目的 VuXML 网页。pkg audit 从该服务获取漏洞列表。

www.FreeBSD.org

https

FreeBSD 网站。

所有官方镜像都支持 IPv4 和 IPv6 。

http://ftp-archive.FreeBSD.org 不在 GeoDNS 基础设施中,只托管在一个地点(美国)。

该项目正在寻找新的场地;愿意赞助的人,请联系集群管理员团队获取更多信息。

由社区和其他公司维护的镜像列表:

国家 主机名 协议

Australia

ftp.au.FreeBSD.org

http http_v6 rsync rsync_v6

ftp3.au.FreeBSD.org

http ftp rsync

Austria

ftp.at.FreeBSD.org

http http_v6 ftp ftp_v6 rsync rsync_v6

Brazil

ftp2.br.FreeBSD.org

http rsync rsync_v6

ftp3.br.FreeBSD.org

http ftp rsync

Bulgaria

ftp.bg.FreeBSD.org

ftp ftp_v6 rsync rsync_v6

Czech Republic

ftp.cz.FreeBSD.org

http http_v6 rsync rsync_v6

Denmark

ftp.dk.FreeBSD.org

http http_v6 ftp ftp_v6 rsync rsync_v6

Finland

ftp.fi.FreeBSD.org

ftp

France

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

Germany

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

Greece

ftp.gr.FreeBSD.org

http http_v6 ftp ftp_v6

ftp2.gr.FreeBSD.org

http http_v6 ftp ftp_v6 rsync

Japan

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

Kazakhstan

mirror.ps.kz

http ftp

mirror.neolabs.kz

http ftp

Korea

ftp.kr.FreeBSD.org

http https ftp rsync

ftp2.kr.FreeBSD.org

rsync

Latvia

ftp.lv.FreeBSD.org

http ftp

Netherlands

ftp.nl.FreeBSD.org

http http_v6 ftp ftp_v6 rsync rsync_v6

ftp2.nl.FreeBSD.org

http ftp rsync

mirror.nl.altushost.com

https

New Zealand

ftp.nz.FreeBSD.org

http ftp

Norway

ftp.no.FreeBSD.org

ftp ftp_v6 rsync rsync_v6

Poland

ftp.pl.FreeBSD.org

http http_v6 ftp rsync rsync_v6

Russia

ftp.ru.FreeBSD.org

http http_v6 ftp ftp_v6 rsync rsync_v6

ftp2.ru.FreeBSD.org

https ftp rsync

Slovenia

ftp.si.FreeBSD.org

http http_v6 ftp ftp_v6

South Africa

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

Sweden

ftp.se.FreeBSD.org

http http_v6 ftp ftp_v6 rsync rsync_v6

mirror.se.altushost.com

https

Taiwan

ftp4.tw.FreeBSD.org

https ftp rsync

ftp5.tw.FreeBSD.org

http ftp

Ukraine

ftp.ua.FreeBSD.org

http ftp ftp_v6 rsync rsync_v6

United Kingdom

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

United States of America

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 年 1 月 31 日,但不保证实时更新。

A.2. 使用 Git

A.2.1. 介绍

截至 2020 年 12 月,FreeBSD 使用 git 作为存储所有 FreeBSD 基础源代码和文档的主要版本控制系统。截至 2021 年 4 月,FreeBSD 使用 git 作为存储所有 FreeBSD Ports 集合的唯一版本控制系统。

Git 通常是开发者工具。用户可能更喜欢使用 freebsd-update“FreeBSD 更新”)来更新 FreeBSD 基本系统,以及使用 git“使用 Ports Collection”)来更新 FreeBSD Ports Collection。

本节演示了如何在 FreeBSD 系统上安装 Git,并使用它创建一个 FreeBSD 源代码仓库的本地副本。

A.2.2. 安装

Git 可以从 Ports Collection 安装,也可以作为一个软件包安装:

# pkg install git

A.2.3. 运行 Git

要将源代码的干净副本获取到本地目录中,使用 git clone 命令。这个文件目录被称为 工作树(working tree)

Git 使用 URL 来指定一个仓库。有三个不同的仓库,src 用于 FreeBSD 系统源代码,doc 用于文档,ports 用于 FreeBSD Ports 集合。这三个仓库都可以通过两种不同的协议访问:HTTPS 和 SSH。例如,URL https://git.FreeBSD.org/src.git 指定了 src 仓库的主分支,使用 https 协议。

表 1. FreeBSD Git 仓库 URL 表格
项目 Git URL

通过 HTTPS 访问只读源代码仓库

https://git.FreeBSD.org/src.git

通过匿名 SSH 只读访问源代码仓库

ssh://[email protected]/src.git

通过 HTTPS 访问的只读文档仓库

https://git.FreeBSD.org/doc.git

通过匿名 SSH 访问的只读文档仓库

ssh://[email protected]/doc.git

通过 HTTPS 访问只读端口的代码仓库

https://git.FreeBSD.org/ports.git

通过匿名 SSH 访问只读端口的代码仓库

ssh://[email protected]/ports.git

项目成员维护的外部镜像也可用;请参考 外部镜像源 部分。

要克隆 FreeBSD 系统源代码仓库的副本:

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

-o freebsd 选项指定了源;按照 FreeBSD 文档的约定,源被假定为 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. 基于 Web 的代码仓库浏览器

FreeBSD 项目使用 cgit 作为基于 Web 的存储库浏览器: https://cgit.FreeBSD.org/

A.2.5. 开发者指南

有关对存储库的写访问权限的信息,请参阅 Committer’s Guide

A.2.6. 外部镜像源

这些镜像不托管在 FreeBSD.org 上,但仍由项目成员维护。用户和开发者可以在这些镜像上拉取或浏览存储库。docsrc GitHub 存储库的拉取请求正在接受;否则,与这些镜像的项目工作流程仍在讨论中。

A.2.7. 邮件列表

FreeBSD 项目中用于一般使用和关于 git 的问题的主要邮件列表是 freebsd-git 。有关更多详细信息,包括提交消息列表,请参阅 邮件列表 章节。

A.2.8. SSH 主机密钥

  • gitrepo.FreeBSD.org 主机的指纹:

    • ECDSA key fingerprint is SHA256:seWO5D27ySURcx4bknTNKlC1mgai0whP443PAKEvvZA

    • ED25519 key fingerprint is SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo

    • RSA key fingerprint is SHA256:f453CUEFXEJAXlKeEHV+ajJfeEfx9MdKQUD7lIscnQI

  • git.FreeBSD.org host key fingerprints:

    • ECDSA key fingerprint is SHA256:/UlirUAsGiitupxmtsn7f9b7zCWd0vCs4Yo/tpVWP9w

    • ED25519 key fingerprint is SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE

    • RSA key fingerprint is SHA256:jBe6FQGoH4HjvrIVM23dcnLZk9kmpdezR/CvQzm7rJM

这些也被发布为 DNS 中的 SSHFP 记录。

A.3. 使用 Subversion

A.3.1. 介绍

截至 2020 年 12 月,FreeBSD 使用 git 作为主要版本控制系统,用于存储所有 FreeBSD 的源代码和文档。从 git 仓库的 stable/11stable/12 和相关的 releng 分支中导出的更改将被导入到 Subversion 仓库中。这种导出将在这些分支的生命周期内继续进行。从 2012 年 7 月到 2021 年 3 月,FreeBSD 使用 Subversion 作为存储所有 FreeBSD Ports Collection 的唯一版本控制系统。截至 2021 年 4 月,FreeBSD 使用 git 作为存储所有 FreeBSD Ports Collection 的唯一版本控制系统。

Subversion 通常是开发人员工具。用户可能更喜欢使用 freebsd-update“FreeBSD 更新”)来更新 FreeBSD 基本系统,以及使用 git“使用 Ports Collection”)来更新 FreeBSD Ports Collection。2021 年 3 月之后,Subversion 仅用于旧版本分支(stable/11stable/12)。

本节介绍了如何在 FreeBSD 系统上安装 Subversion,并使用它创建一个 FreeBSD 仓库的本地副本。还包括有关使用 Subversion 的其他信息。

A.3.2. Svnlite

在 FreeBSD 上已经安装了 Subversion 的轻量级版本 svnlite。只有在需要 Python 或 Perl API ,或者需要更高版本的 Subversion 时,才需要使用端口或软件包版本的 Subversion。

与正常的 Subversion 使用唯一的区别是命令名称为 svnlite

A.3.3. 安装

如果 svnlite 不可用或者需要完整版本的 Subversion,则必须安装它。

Subversion 可以从 Ports Collection 安装:

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

Subversion 也可以作为一个软件包进行安装:

# pkg install subversion

A.3.4. 运行 Subversion

要将源代码的干净副本获取到本地目录中,请使用 svn 命令。这个目录中的文件被称为 本地工作副本(local working copy)

在首次使用 checkout 之前,移动或删除现有的目标目录。在现有的非 svn 目录上进行 checkout 可能会导致现有文件与从存储库中带入的文件之间发生冲突。

Subversion 使用 URL 来指定一个仓库,其格式为 protocol://hostname/path。路径的第一个组件是要访问的 FreeBSD 仓库。有三个不同的仓库,base 用于 FreeBSD 基本系统源代码,ports 用于 Ports Collection ,doc 用于文档。例如, URL https://svn.FreeBSD.org/base/head/ 指定了 src 仓库的主分支,使用 https 协议。

使用类似以下命令从给定的代码库中进行检出操作:

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

在哪里:

  • repository 是项目的一个仓库:baseportsdoc

  • branch 的依赖取决于所使用的代码库。 portsdoc 主要在 head 分支中进行更新,而 base 则在 head 下维护了最新版本的 -CURRENT ,并在 stable/11(11.x)和 stable/12(12.x)下维护了相应的最新版本的 -STABLE 分支。

  • lwcdir 是指定分支的内容应放置的目标目录。通常情况下,对于 ports 来说,目标目录是 /usr/ports,对于 base 来说,目标目录是 /usr/src,对于 doc 来说,目标目录是 /usr/doc

这个例子使用 HTTPS 协议从 FreeBSD 仓库检出源代码树,将本地工作副本放在 /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 软件包以便自动验证证书。

A.3.6. 更多信息请参考

关于使用 Subversion 的其他信息,请参阅名为 《Subversion Book》 的书籍,或者 Subversion 文档

A.4. CD 和 DVD 套装

FreeBSD CD 和 DVD 套装可从多家在线零售商购买:


上次修改时间: September 18, 2024 by fiercex