博主头像
mxd's Blog

以技术为翼,以生活为魂

FreeBSD 15 pkg 源改名的坑

从 FreeBSD 15 开始,pkg 的默认仓库名字发生了一个不太显眼但很致命的变化。
以前我们熟悉的仓库名是 FreeBSD,而在 FreeBSD 15 里,它已经被替换为 FreeBSD-ports

问题在于,这个变化如果不知道,会直接踩坑。

所以你换了镜像站,表现是它依然在从官方仓库拉取,我也是纳闷了半天我才发现我靠。

很多人依然按照旧习惯在 /usr/local/etc/pkg/repos/*.conf 里写:

FreeBSD: { enabled: no }

看起来像是禁用了官方源,实际上并没有。
pkg 仍然会尝试使用默认配置里的 FreeBSD-ports,导致你以为禁用了,结果还是在拉官方仓库,甚至在境内环境下直接表现为“源不可用”“卡住”“404”。

真正生效的写法应该是:

FreeBSD-ports: { enabled: no }

这里的大小写和连字符都必须完全一致。

FreeBSD-ports 中:

  • F、B、S、D 全部大写
  • ports 全小写
  • 中间是连字符 -
  • 不是 Freebsd,不是 freebsd,也不是 FreeBSD-Ports

这一点在 FreeBSD 15 源码里。

相关改动链接:c83705a5756ef2b01e0e5b1430e8c5548d4cca6e

这是 15.0 默认的源:FreeBSD.conf.quarterly

releng/15.0/usr.sbin/pkg/FreeBSD.conf.quarterly 中,默认仓库定义明确使用的就是:

FreeBSD-ports

结论很简单,但非常容易被忽略:

  • FreeBSD 15 不再使用 FreeBSD 这个 pkg 仓库名
  • 禁用官方源时,必须禁用 FreeBSD-ports
  • 否则禁用配置是无效的

这个坑本身不复杂,但踩中的概率很高,值得被明确写出来提醒后来的人。

FreeBSD 15 pkg 源改名的坑
https://blog.mxdyeah.com/post/freebsd-15-pkg-repo-freebsd-ports-trap
本文作者 mxdyeah
发布时间 2026-02-06
许可协议 CC BY-NC-SA 4.0
发表新评论

AD: