5.2 更换 FreeBSD 软件源
软件源概览
软件源
简介
备注
理解 quarterly 季度分支与滚动更新的 latest 分支
# git clone https://git.FreeBSD.org/ports.git /usr/ports # 克隆 FreeBSD ports 仓库到 /usr/ports 目录
正克隆到 '/usr/ports'...
remote: Enumerating objects: 6715646, done.
remote: Counting objects: 100% (936/936), done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 6715646 (delta 923), reused 816 (delta 816), pack-reused 6714710 (from 1)
接收对象中: 100% (6715646/6715646), 1.50 GiB | 10.26 MiB/s, 完成.
处理 delta 中: 100% (4065984/4065984), 完成.
正在更新文件: 100% (168004/168004), 完成.
root@ykla:/home/ykla # cd /usr/ports/ # 切换到 git 的 Ports 路径
root@ykla:/usr/ports # git branch -a # 列出本地所有分支
* main
remotes/origin/2014Q1
remotes/origin/2014Q2
remotes/origin/2014Q3
remotes/origin/2014Q4
……省略一部分……
remotes/origin/2025Q2
remotes/origin/2025Q3
remotes/origin/2025Q4
remotes/origin/HEAD -> origin/main # 可以看到 main 是默认分支
remotes/origin/main
root@ykla:/usr/ports # git for-each-ref --sort=-committerdate --format='%(committerdate:short) %(authorname) %(refname:short) %(objectname:short)' refs/remotes/ # 列出所有分支及最后提交者与时间 ①
2025-10-24 Hiroki Tagato origin be5283280c16
2025-10-24 Hiroki Tagato origin/main be5283280c16
2025-10-23 Colin Percival origin/2025Q4 060d3d65fcbb
2025-10-14 Bryan Drewery origin/2025Q3 9f09f84b2dd5
2025-07-01 FiLiS origin/2025Q2 c339266c40e5
……省略一部分……
2015-07-23 Palle Girgensohn origin/2015Q2 7d7c2271f6c9
2015-04-09 Alonso Schaich origin/2015Q1 5bd325869bde
2014-10-01 Bryan Drewery origin/2014Q3 a0ccd6f83108
2014-06-28 Thomas Zander origin/2014Q2 a3377806e58e
2014-03-29 Lars Engels origin/2014Q1 5f4d6e1d6b07
root@ykla:/usr/ports # git merge-base origin/main origin/2025Q4 # 查找两个分支的最近共同祖先 commit
6c256c6adb790f0588b920d41a5fe4dfa550079f
root@ykla:/usr/ports # git branch -r --contains 6c256c6adb790f0588b920d41a5fe4dfa550079f # 列出哪些远程分支历史中包含此 commit ②
origin/2025Q4
origin/HEAD -> origin/main
origin/main
root@ykla:/usr/ports # for branch in $(git branch -r | grep -v HEAD); do # 查看分支创建的时间 ③
> mb=$(git merge-base origin/main $branch)
> date=$(git show -s --format='%ci' $mb)
> echo "$branch created around $date"
> done
origin/2014Q1 created around 2013-12-16 08:00:15 +0000
origin/2014Q2 created around 2014-04-01 12:02:40 +0000
origin/2014Q3 created around 2014-07-01 10:13:26 +0000
origin/2014Q4 created around 2014-10-01 06:43:32 +0000
origin/2015Q1 created around 2015-01-01 14:35:03 +0000
origin/2015Q2 created around 2015-04-01 12:19:37 +0000
origin/2015Q3 created around 2015-07-01 12:12:08 +0000
origin/2015Q4 created around 2015-10-01 19:24:12 +0000
……省略一部分……
origin/2024Q4 created around 2024-10-07 20:46:12 +0200
origin/2025Q1 created around 2025-01-05 11:22:53 +0100
origin/2025Q2 created around 2025-04-01 12:58:51 +0200
origin/2025Q3 created around 2025-07-01 22:32:34 +0300
origin/2025Q4 created around 2025-10-01 21:27:17 +0200
origin/main created around 2025-10-24 12:43:02 +0900参考文献
15.0-RELEASE 快速切换 pkg 软件源到中国科学技术大学开源镜像站
pkg 二进制包(由 Ports 构建的二进制包)换源
14.X-RELEASE
创建用户级源目录和文件
中国科学技术大学开源软件镜像站
15.0-RELEASE
官方源
中国科学技术大学开源软件镜像站
内核模块源(Kernel modules, kmods)
14.X-RELEASE
中国科学技术大学开源软件镜像站
15.0-RELEASE
中国科学技术大学开源镜像站
面向基本系统的 pkgbase 源(适用 FreeBSD 14.3-RELEASE 及以上)
官方源
中国科学技术大学开源软件镜像站
STABLE/CURRENT 快速切换 pkg 软件源到中国科学技术大学开源镜像站
内核模块源
pkgbase 源
Ports:以源代码方式编译安装软件的框架
通过 Git 拉取 Ports
通过归档文件获取 Ports
Ports 源
故障排除与未竟事宜
平衡安全与便利
为什么 pkg 配置文件中要写完整选项(mirror_type / signature_type / fingerprints)
旧版本存档的 pkg 二进制包源(请酌情使用)
最后更新于