| title | Appendix A. Obtaining FreeBSD | |||||||
|---|---|---|---|---|---|---|---|---|
| part | Part V. Appendices | |||||||
| prev | books/handbook/partv | |||||||
| next | books/handbook/bibliography | |||||||
| description | How to get FreeBSD: Distribution services, mirrors, code repositories, and SSH keys | |||||||
| tags |
|
|||||||
| showBookMenu | true | |||||||
| weight | 41 | |||||||
| params |
|
The official mirrors of the FreeBSD project are made up of many machines operated by the project cluster administrators and behind GeoDNS to direct users to the closest available mirror. Current locations are Australia, Brazil, Japan (two sites), Malaysia, South Africa, Sweden, Taiwan, United States of America (California - two sites, Illinois - two sites, New Jersey, and Washington).
Official mirrors service:
| Service Name | Protocols | More information |
|---|---|---|
cgit.FreeBSD.org |
Web interface for the FreeBSD Git repositories. |
|
docs.FreeBSD.org |
FreeBSD Documentation Portal. |
|
download.FreeBSD.org |
https ftp |
Same content as |
git.FreeBSD.org |
git over |
More details on using git section. |
pkg.FreeBSD.org |
man:pkg[8] over |
Official FreeBSD package repositories used by the man:pkg[8] program. |
vuxml.FreeBSD.org / www.VuXML.org |
FreeBSD Project VuXML web page. |
|
FreeBSD Website. |
All official mirrors support IPv4 and IPv6.
http://ftp-archive.FreeBSD.org is not in the GeoDNS Infrastructure, hosted in only one location (US).
The project is looking for new locations; those willing to sponsor, please reach out to the Cluster Administrators team for more information.
Fastly CDN is used to serve download.FreeBSD.org and pkg.FreeBSD.org, providing acceleration, caching, and global bandwidth distribution for FreeBSD images and packages.
Mirror list maintained by the community and other companies:
| Country | Hostname | Protocols |
|---|---|---|
Australia [envelope] |
ftp.au.FreeBSD.org |
|
ftp3.au.FreeBSD.org |
http ftp rsync |
|
Brazil [envelope] |
ftp2.br.FreeBSD.org |
http rsync rsync_v6 |
ftp3.br.FreeBSD.org |
http ftp rsync |
|
Bulgaria [envelope] |
ftp.bg.FreeBSD.org |
ftp ftp_v6 rsync rsync_v6 |
Czech Republic [envelope] |
ftp.cz.FreeBSD.org |
|
Denmark [envelope] |
ftp.dk.FreeBSD.org |
|
Finland [envelope] |
ftp.fi.FreeBSD.org |
ftp |
France [envelope] |
ftp.fr.FreeBSD.org |
|
ftp3.fr.FreeBSD.org |
ftp |
|
ftp6.fr.FreeBSD.org |
http ftp rsync |
|
Germany [envelope] |
ftp.de.FreeBSD.org |
|
ftp1.de.FreeBSD.org |
||
ftp2.de.FreeBSD.org |
||
ftp5.de.FreeBSD.org |
ftp ftp_v6 |
|
ftp7.de.FreeBSD.org |
||
Greece [envelope] |
ftp.gr.FreeBSD.org |
|
ftp2.gr.FreeBSD.org |
||
Japan [envelope] |
ftp.jp.FreeBSD.org |
|
ftp2.jp.FreeBSD.org |
ftp rsync rsync_v6 |
|
ftp3.jp.FreeBSD.org |
http rsync |
|
ftp4.jp.FreeBSD.org |
ftp |
|
ftp6.jp.FreeBSD.org |
||
Kazakhstan [envelope] |
mirror.ps.kz |
http ftp |
mirror.neolabs.kz |
http ftp |
|
Korea [envelope] |
ftp.kr.FreeBSD.org |
|
ftp2.kr.FreeBSD.org |
rsync |
|
Latvia [envelope] |
ftp.lv.FreeBSD.org |
http ftp |
Netherlands [envelope] |
ftp.nl.FreeBSD.org |
|
ftp2.nl.FreeBSD.org |
http ftp rsync |
|
mirror.nl.altushost.com |
||
New Zealand [envelope] |
ftp.nz.FreeBSD.org |
http ftp |
Norway [envelope] |
ftp.no.FreeBSD.org |
ftp ftp_v6 rsync rsync_v6 |
Poland [envelope] |
ftp.pl.FreeBSD.org |
|
Russia [envelope] |
ftp.ru.FreeBSD.org |
|
ftp2.ru.FreeBSD.org |
https ftp rsync |
|
Slovenia [envelope] |
ftp.si.FreeBSD.org |
|
South Africa [envelope] |
ftp2.za.FreeBSD.org |
|
ftp4.za.FreeBSD.org |
http ftp rsync |
|
Sweden [envelope] |
ftp.se.FreeBSD.org |
|
mirror.se.altushost.com |
||
Taiwan [envelope] |
ftp4.tw.FreeBSD.org |
https ftp rsync |
ftp5.tw.FreeBSD.org |
http ftp |
|
Ukraine [envelope] |
ftp.ua.FreeBSD.org |
http ftp ftp_v6 rsync rsync_v6 |
United Kingdom [envelope] |
ftp.uk.FreeBSD.org |
|
ftp2.uk.FreeBSD.org |
||
United States of America [envelope] |
ftp11.FreeBSD.org |
|
ftp14.FreeBSD.org |
ftp rsync (Former official tier 1) |
|
ftp5.FreeBSD.org |
The current list of protocols supported by the community mirrors was last updated on 2022-01-31, and it’s not guaranteed.
As of December 2020, FreeBSD uses git as the primary version control system for storing all of FreeBSD’s base source code and documentation. As of April 2021, FreeBSD uses git as the only version control system for storing all of FreeBSD’s Ports Collection.
|
Note
|
Git is generally a developer tool.
Users may prefer to use |
This section demonstrates how to install Git on a FreeBSD system and use it to create a local copy of a FreeBSD source code repository.
Git can be installed from the Ports Collection, or as a package:
# pkg install gitTo fetch a clean copy of the sources into a local directory, use git clone.
This directory of files is called the working tree.
Git uses URLs to designate a repository.
There are three different repositories, src for the FreeBSD system source code, doc for documentation, and ports for the FreeBSD Ports Collection.
All three are reachable over two different protocols: HTTPS and SSH.
For example, the URL https://git.FreeBSD.org/src.git specifies the main branch of the src repository, using the https protocol.
| Item | Git URL |
|---|---|
Read-only src repo via HTTPS |
|
Read-only src repo via anon-ssh |
|
Read-only doc repo via HTTPS |
|
Read-only doc repo via anon-ssh |
|
Read-only ports repo via HTTPS |
|
Read-only ports repo via anon-ssh |
|
External mirrors maintained by project members are also available; please refer to the crossref:mirrors[external-mirrors, External mirrors] section.
To clone a copy of the FreeBSD system source code repository:
# git clone -o freebsd https://git.FreeBSD.org/src.git /usr/srcThe -o freebsd option specifies the origin; by convention in the FreeBSD documentation, the origin is assumed to be freebsd.
Because the initial checkout must download the full branch of the remote repository, it can take a while.
Please be patient.
Initially, the working tree contains source code for the main branch, which corresponds to CURRENT.
To switch to 13-STABLE instead:
# cd /usr/src
# git checkout stable/13The working tree can be updated with git pull.
To update /usr/src created in the example above, use:
# cd /usr/src
# git pull --rebaseThe update is much quicker than a checkout, only transferring files that have changed.
The FreeBSD project uses cgit as the web-based repository browser: https://cgit.FreeBSD.org/.
For information about write access to repositories see the extref:{committers-guide}[Committer’s Guide, git-mini-primer].
Those mirrors are not hosted in FreeBSD.org but still maintained by the project members.
Users and developers are welcome to pull or browse repositories on those mirrors.
Pull requests for the doc and src GitHub repositories are being accepted; otherwise, the project workflow with those mirrors is still under discussion.
- Codeberg
- GitHub
- GitLab
The main mailing list for general usage and questions about git in the FreeBSD project is freebsd-git. For more details, including commit messages lists, see the crossref:handbook/eresources[eresources-mail, Mailing Lists] chapter.
-
gitrepo.FreeBSD.org host key fingerprints:
-
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
-
These are also published as SSHFP records in DNS.