以 bvm 为例,执行以下命令,这会仅下载 sysutils/bvm 目录以及编译所需的 Mk 框架和 Templates 模板,避免下载整个数 GB 的库:
# 创建并进入目录
mkdir -p /usr/ports
cd /usr/ports
# 初始化 Git 并关联官方源
git init
git remote add origin https://git.FreeBSD.org/ports.git
# 启用稀疏检出模式
git sparse-checkout init --cone
# 指定下载 sysutils/bvm 及其依赖的构建框架
git sparse-checkout set sysutils/bvm Mk Templates
# 仅获取最新的文件快照(depth=1 节省流量)
git pull --depth=1 origin main
注意事项
- 构建框架: 必须包含 Mk 目录,因为 FreeBSD Ports 的所有编译逻辑(如 bsd.port.mk)都存放在这里。
- 依赖项: 如果 bvm 依赖其他软件包,且这些包尚未在系统中安装,编译时会自动尝试进入其他 Port 目录。如果那些目录没有被检出,编译可能会报错。在这种情况下,建议先通过 pkg install 安装好 bvm 的所有依赖。