未找到“pkg”所需的共享对象“libarchive.so.5”

未找到“pkg”所需的共享对象“libarchive.so.5”

我刚刚将我的 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

选项:

  1. pkg从 ports重建:

    cd /usr/ports/ports-mgmt/pkg && make deinstall reinstall clean
    
  2. 通过以下方式修复库链接libmap.conf

    echo "libarchive.so.5 `ls /usr/lib/libarchive.so.*`" >> /etc/libmap.conf
    

    可能还有其他应用程序修复了同样的问题。pkg还依赖于其他 8 个共享库。我不确定 9.x 和 10.x 之间有哪些变化,但我敢打赌肯定还有其他变化。

相关内容