FreeBSD,引导 pkg,“pkg-static:执行 INSERT 或 ROLLBACK INTO pkg_search 时出现 sqlite 错误”

Edw*_*alk 5 freebsd pkg

我试图在 FreeBSD 10.2 系统上安装 bash,请参阅如何在 FreeBSD 上安装 bash

但是安装失败,因为 pkg 试图从一个太新的存储库中获取。

然后我尝试按照https://glasz.org/sheeplog/2017/02/freebsd-usrlocalliblibpkgso3-undefined-symbol-utimensat.html 上的食谱进行操作,几个消息来源说这是正确的做法。

但是,部分方法涉及卸载 pkg 并重新安装它。结果如下:

# pkg install -y pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

Bootstrapping pkg from 
pkg+http://pkg.FreeBSD.org/FreeBSD:10:amd64/release_2, please 
wait...
Verifying signature with trusted certificate 
pkg.freebsd.org.2013102301... done
pkg-static: warning: database version 34 is newer than libpkg(3) 
version 31, but still compatible
pkg-static: sqlite error while executing INSERT OR ROLLBACK INTO 
pkg_search(id, name, origin) VALUES (?1, ?2 || '-' || ?3, ?4); in 
file pkgdb.c:1542: no such table: pkg_search
Run Code Online (Sandbox Code Playgroud)

所以现在我被困住了。谁能告诉我如何才能从这种状态中恢复过来?

arr*_*owd 5

您可以尝试删除/var/db/pkg/目录中的所有内容,但正确的解决方案是升级到受支持的 FreeBSD 版本(10.4 或 11.2)