在尝试将 pfSense 2.2.6 升级到最新版本(如此处所述)并运行pkg
时,我得到:
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]:
回答是后,我得到:
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:64/latest, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.10.5...
Newer FreeBSD version for package pkg:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1003000
- running kernel: 1001000
Allow missmatch now?[Y/n]:
我决定冒险并回答是。最终,安装以错误消息结束:
/usr/local/lib/libpkg.so.4: Undefined symbol "openat"
这大概意味着pkg
我得到的版本确实与我的系统不兼容。不幸的是,每进一步尝试运行都会pkg
产生相同的错误。
我怎样才能再次摆脱不兼容的pkg
版本,我怎样才能在我的 pfSense 上获得一个与 BSD 版本兼容的版本?或者有没有其他方法可以解决这个问题?
pkng 有几个后备方案:
pkg-static
./usr/sbin/pkg bootstrap -f
。您需要做的是告诉
pkg
使用 FreeBSD 10.1 存储库。因为您的配置文件说它latest
正在使用 FreeBSD 10.3 存储库,其软件包含对 10.1 或更早版本中未找到的库函数的各种未定义引用,包括openat
和utimensat
. 10.1 ABI 与 10.3 不向前兼容。您可以通过更改适当的
.conf
文件来执行此操作,/usr/local/etc/pkg/repos/
以说出特定版本而不是latest
,然后重新引导pkg
.或者您可以在端口树中编译自己的。但是,如果您这样做,您仍然会从中提取其他10.3 软件。
latest
进一步阅读
pkg
. FreeBSD 杂项信息手册。2013 年 12 月 12 日。pkg
. FreeBSD 系统管理员手册。pkg-static
. FreeBSD 系统管理员手册。pkg.conf
. FreeBSD 文件格式手册./usr/local/lib/libpkg.so.3
: 升级到 1.9.4_1 (FreeBSD 10.1) 后未定义符号“openat”。FreeBSDpkg
错误 #1526。2017-01-05。GitHub。