Freebsd10.2安装包升级pkg引起环境破坏的解决
Freebsd10.2安装包升级pkg引起环境破坏的解决
zphj1987前言
freebsd10.2环境在安装一个新软件包的时候提示升级pkg到1.10.1,然后点击了升级,然后整个pkg环境就无法使用了
记录
升级完了软件包以后第一个错误提示
FreeBSD: /usr/local/lib/libpkg.so.3: Undefined symbol “utimensat”
这个是因为这个库是在freebsd的10.3当中才有的库,而我的环境是10.2的环境
网上有一个解决办法
更新源
1 | # cat /usr/local/etc/pkg/repos/FreeBSD.conf |
检查当前版本
1 | # pkg --version |
更新缓存
1 | # pkg update |
卸载
1 | # pkg delete -f pkg |
重新安装
1 | # pkg install -y pkg |
检查版本
1 | # pkg --version |
这个在我的环境下没有生效
还有一个办法
有个pkg-static命令可以使用,,然后/var/cache/pkg里边缓存的包。执行命令:
1 | # pkg-static install -f /var/cache/pkg/pkg-1.5.4.txz |
这个在我的环境下报错
1 | root@mkiso:/usr/ports/ports-mgmt/pkg # pkg info sqlite3 |
这个在网上看到有很多人出现了
最终解决的办法
在邮件列表里面看到一个解决办法,我是用的这个办法解决了的
1 | #pkg shell |
进入交互模式,执行下面的操作
1 | CREATE VIRTUAL TABLE pkg_search USING fts4(id, name, origin); |
执行完了以后pkg 环境可用了
避免这个问题
锁定本机的pkg版本
1 | pkg lock pkg |
如果需要手动找包就是这个路径
1 | http://pkg.freebsd.org/FreeBSD:10:amd64/ |
我的机器最终版本是
1 | #pkg -v |
参考资料
freebsd pkg升级问题报错
FreeBSD: /usr/local/lib/libpkg.so.3: Undefined symbol “utimensat”
升级pkg失败, 安装低版本pkg失败
pkg database issue: database version 34 is newer than libpkg(3) version 33 ?
变更记录
Why | Who | When |
---|---|---|
创建 | 武汉-运维-磨渣 | 2017-05-24 |
评论
匿名评论隐私政策