# pkg install git
附录 A. 获取 FreeBSD
如果发现翻译错误,请直接 发起PR修改。
目录
A.1. 镜像
FreeBSD 项目的官方镜像由项目集群管理员操作的多台机器组成,并且通过 GeoDNS 进行管理,以将用户引导到最近的可用镜像。当前的镜像位置包括澳大利亚、巴西、德国、日本(两个站点)、马来西亚、南非、中国台湾、英国和美国(加利福尼亚州、新泽西州和华盛顿州)。
官方镜像服务:
服务名称 | 协议 | 更多信息 |
---|---|---|
docs.FreeBSD.org |
FreeBSD 文档门户网站。 |
|
download.FreeBSD.org |
与 |
|
git.FreeBSD.org |
通过 |
更多详细信息请参考 using git 部分。 |
pkg.FreeBSD.org |
pkg(8) 可以通过 |
pkg(8) 程序使用的官方 FreeBSD 软件包仓库。 |
vuxml.FreeBSD.org / www.VuXML.org |
FreeBSD 项目的 VuXML 网页。 |
|
www.FreeBSD.org |
FreeBSD 网站。 |
所有官方镜像都支持 IPv4 和 IPv6 。
http://ftp-archive.FreeBSD.org 不在 GeoDNS 基础设施中,只托管在一个地点(美国)。
该项目正在寻找新的场地;愿意赞助的人,请联系集群管理员团队获取更多信息。
由社区和其他公司维护的镜像列表:
国家 | 主机名 | 协议 |
---|---|---|
ftp.au.FreeBSD.org |
||
ftp3.au.FreeBSD.org |
||
ftp.at.FreeBSD.org |
||
ftp2.br.FreeBSD.org |
||
ftp3.br.FreeBSD.org |
||
ftp.bg.FreeBSD.org |
||
ftp.cz.FreeBSD.org |
||
ftp.dk.FreeBSD.org |
||
ftp.fi.FreeBSD.org |
||
ftp.fr.FreeBSD.org |
||
ftp3.fr.FreeBSD.org |
||
ftp6.fr.FreeBSD.org |
||
ftp.de.FreeBSD.org |
||
ftp1.de.FreeBSD.org |
||
ftp2.de.FreeBSD.org |
||
ftp5.de.FreeBSD.org |
||
ftp7.de.FreeBSD.org |
||
ftp.gr.FreeBSD.org |
||
ftp2.gr.FreeBSD.org |
||
ftp.jp.FreeBSD.org |
||
ftp2.jp.FreeBSD.org |
||
ftp3.jp.FreeBSD.org |
||
ftp4.jp.FreeBSD.org |
||
ftp6.jp.FreeBSD.org |
||
mirror.ps.kz |
||
mirror.neolabs.kz |
||
ftp.kr.FreeBSD.org |
||
ftp2.kr.FreeBSD.org |
||
ftp.lv.FreeBSD.org |
||
ftp.nl.FreeBSD.org |
||
ftp2.nl.FreeBSD.org |
||
mirror.nl.altushost.com |
||
ftp.nz.FreeBSD.org |
||
ftp.no.FreeBSD.org |
||
ftp.pl.FreeBSD.org |
||
ftp.ru.FreeBSD.org |
||
ftp2.ru.FreeBSD.org |
||
ftp.si.FreeBSD.org |
||
ftp.za.FreeBSD.org |
||
ftp2.za.FreeBSD.org |
||
ftp4.za.FreeBSD.org |
||
ftp.se.FreeBSD.org |
||
mirror.se.altushost.com |
||
ftp4.tw.FreeBSD.org |
||
ftp5.tw.FreeBSD.org |
||
ftp.ua.FreeBSD.org |
||
ftp.uk.FreeBSD.org |
||
ftp2.uk.FreeBSD.org |
||
ftp11.FreeBSD.org |
||
ftp14.FreeBSD.org |
||
ftp5.FreeBSD.org |
社区镜像支持的协议列表最近更新于 2022 年 1 月 31 日,但不保证实时更新。
A.2. 使用 Git
A.2.1. 介绍
截至 2020 年 12 月,FreeBSD 使用 git 作为存储所有 FreeBSD 基础源代码和文档的主要版本控制系统。截至 2021 年 4 月,FreeBSD 使用 git 作为存储所有 FreeBSD Ports 集合的唯一版本控制系统。
Git 通常是开发者工具。用户可能更喜欢使用 |
本节演示了如何在 FreeBSD 系统上安装 Git,并使用它创建一个 FreeBSD 源代码仓库的本地副本。
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
协议。
项目 | Git URL |
---|---|
通过 HTTPS 访问只读源代码仓库 |
|
通过匿名 SSH 只读访问源代码仓库 |
|
通过 HTTPS 访问的只读文档仓库 |
|
通过匿名 SSH 访问的只读文档仓库 |
|
通过 HTTPS 访问只读端口的代码仓库 |
|
通过匿名 SSH 访问只读端口的代码仓库 |
|
项目成员维护的外部镜像也可用;请参考 外部镜像源 部分。
要克隆 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 上,但仍由项目成员维护。用户和开发者可以在这些镜像上拉取或浏览存储库。doc
和 src
GitHub 存储库的拉取请求正在接受;否则,与这些镜像的项目工作流程仍在讨论中。
- Codeberg
- GitHub
- GitLab
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/11
、stable/12
和相关的 releng 分支中导出的更改将被导入到 Subversion 仓库中。这种导出将在这些分支的生命周期内继续进行。从 2012 年 7 月到 2021 年 3 月,FreeBSD 使用 Subversion 作为存储所有 FreeBSD Ports Collection 的唯一版本控制系统。截至 2021 年 4 月,FreeBSD 使用 git 作为存储所有 FreeBSD Ports Collection 的唯一版本控制系统。
Subversion 通常是开发人员工具。用户可能更喜欢使用 |
本节介绍了如何在 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)。
在首次使用 |
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 是项目的一个仓库:
base
、ports
或doc
。 -
branch 的依赖取决于所使用的代码库。
ports
和doc
主要在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 套装可从多家在线零售商购买:
-
FreeBSD Mall, Inc. + 1164 Claremont Dr + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: [email protected] + Website: https://www.freebsdmall.com
-
Getlinux + 网站:https://www.getlinux.fr/
-
Dr. Hinner EDV + Schäftlarnstr. 10 // 4. Stock + D-81371 München + Germany + Phone: +49 171 417 544 6 + Email: [email protected] + Website: http://www.hinner.de/linux/freebsd.html
上次修改时间: September 18, 2024 by fiercex