第 3.3 节 gitup 的用法
FreeBSD 14.0 已经删除了 portsnap,转而使用 git,如本文所述可以使用 gitup 替代之。
# pkg install gitup #安装 gitup
# gitup ports #获取 latest 的 ports
# gitup release #获取 release 版本的源代码
境内 Git 镜像站
# cp /usr/local/etc/gitup.conf.sample /usr/local/etc/gitup.conf
# ee /usr/local/etc/gitup.conf
内容如下(有 ①②③ 共计三个需要修改的地方):
# $FreeBSD$
#
# Default configuration options for gitup.conf.
{
"defaults" : {
"host" : "mirrors.ustc.edu.cn", #①改动成这样
"port" : 443,
# "proxy_host" : "",
# "proxy_port" : 0,
# "proxy_username" : "",
# "proxy_password" : "",
# "source_address" : "",
"low_memory" : false,
"display_depth" : 0,
"verbosity" : 1,
"work_directory" : "/var/db/gitup",
},
"ports" : {
"repository_path" : "/freebsd-ports/ports.git", #②改动成这样
"branch" : "main",
"target_directory" : "/usr/ports",
"ignores" : [],
},
"quarterly" : {
"repository_path" : "/freebsd-ports/ports.git", #③改动成这样
"branch" : "quarterly",
"target_directory" : "/usr/ports",
"ignores" : [],
},
"release" : {
"repository_path" : "/src.git",
"branch" : "releng/13.2",
"target_directory" : "/usr/src",
"ignores" : [
"sys/[^\/]+/conf",
],
},
"stable" : {
"repository_path" : "/src.git",
"branch" : "stable/13",
"target_directory" : "/usr/src",
"ignores" : [
"sys/[^\/]+/conf",
],
},
"current" : {
"repository_path" : "/src.git",
"branch" : "main",
"target_directory" : "/usr/src",
"ignores" : [
"sys/[^\/]+/conf",
],
}
}
拉取 ports:
# gitup ports
故障排除:
- 速度太慢(若不使用镜像站):设置 HTTP 代理
gitup
的代理不取决于系统代理,而是由其配置文件 /usr/local/etc/gitup.conf
单独决定。
示例(先删去前边的 # 再改):
"proxy_host" : "192.168.27.1",
"proxy_port" : 7890,
- 详细调试输出:
# gitup -v2 ports
- gitup: build_repair_command: There are too many files to repair -- please re-clone the repository: Argument list too long
# rm -rf /usr/ports
# gitup ports
清空目录重新拉取即可,可以无视 rm: /usr/ports/: Device busy
这个提示。