我刚刚将我的 FreeBSD 从 9.x 更新到 10.0(使用freebsd-update
),但现在我的pkg
无法工作了。
# pkg
Shared object "libarchive.so.5" not found, required by "pkg"
#
我知道我可以pkg-static
同时使用,但是我现在该如何修复pkg
?
* 更新 *:
# pkg-static info pkg
pkg-static: No package(s) matching pkg
# pkg-static install pkg
Updating repository catalogue
pkg-static: http://pkg.freebsd.org/freebsd:10:x86:64/latest/repo.txz: Not Found
#
答案1
Shared object "libarchive.so.5" not found required by "pkg"
以下是修复我的 FreeBSD 9.2-RELEASE -> 10.0-RELEASE 更新的方法,尽管我的pkg-static pkg
显示1.2.6
已安装,但它具有相同的问题。
# pkg-static bootstrap -f
哪个列出了引导程序 pkg 的说明
# pkg-static delete -f pkg
# /usr/sbin/pkg -v
此后 pkg 似乎运行正常。
答案2
选项:
pkg
从 ports重建:cd /usr/ports/ports-mgmt/pkg && make deinstall reinstall clean
通过以下方式修复库链接
libmap.conf
:echo "libarchive.so.5 `ls /usr/lib/libarchive.so.*`" >> /etc/libmap.conf
可能还有其他应用程序修复了同样的问题。
pkg
还依赖于其他 8 个共享库。我不确定 9.x 和 10.x 之间有哪些变化,但我敢打赌肯定还有其他变化。