前言

freebsd10.2环境在安装一个新软件包的时候提示升级pkg到1.10.1,然后点击了升级,然后整个pkg环境就无法使用了

记录

升级完了软件包以后第一个错误提示

FreeBSD: /usr/local/lib/libpkg.so.3: Undefined symbol "utimensat"

这个是因为这个库是在freebsd的10.3当中才有的库,而我的环境是10.2的环境

网上有一个解决办法

更新源

# cat /usr/local/etc/pkg/repos/FreeBSD.conf
FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/release_2",
enabled: yes
}

检查当前版本

# pkg --version
1.10.1

更新缓存

# pkg update

卸载

# pkg delete -f pkg

重新安装

# pkg install -y pkg
# pkg2ng

检查版本

# pkg --version
1.5.4

这个在我的环境下没有生效

还有一个办法

有个pkg-static命令可以使用,,然后/var/cache/pkg里边缓存的包。执行命令:

# pkg-static install -f /var/cache/pkg/pkg-1.5.4.txz

这个在我的环境下报错

root@mkiso:/usr/ports/ports-mgmt/pkg # pkg info sqlite3
pkg: warning: database version 34 is newer than libpkg(3) version 33, but still compatible
pkg: sqlite error while executing INSERT OR ROLLBACK INTO pkg_search(id, name, origin) VALUES (?1, ?2 || '-' || ?3, ?4); in file pkgdb.c:1544: no such table: pkg_search

这个在网上看到有很多人出现了

最终解决的办法

在邮件列表里面看到一个解决办法,我是用的这个办法解决了的

#pkg shell

进入交互模式,执行下面的操作

CREATE VIRTUAL TABLE pkg_search USING fts4(id, name, origin);
pragma user_version=33;

执行完了以后pkg 环境可用了

避免这个问题

锁定本机的pkg版本

pkg lock pkg

如果需要手动找包就是这个路径

http://pkg.freebsd.org/FreeBSD:10:amd64/

我的机器最终版本是

#pkg -v
1.8.7

参考资料

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

Freebsd10.2安装包升级pkg引起环境破坏的解决的更多相关文章

  1. lnmp----------lnmp集成环境使用lnmp安装包安装lnmp集成环境的步骤

    1.先看下screen -S lnmp 命令是否存在,不存在则安装.这个是个什么东东呢?百度一下( GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接 ...

  2. ubuntu 安装包过程中遇到的一个错误解决办法

    错误提示如下: 将会安装下列额外的软件包: libdigest-hmac-perl libqt5test5下列[新]软件包将被安装: libdigest-hmac-perl下列软件包将被升级: lib ...

  3. centos6.8 环境一键安装包 nginx配置thinkphp5

    ---恢复内容开始--- lnmp1.4 一键安装包 nginx配置thinkphp5     环境:Nginx1.12.1  PHP5.6  Coentos6.8 修改网站配置文件      ser ...

  4. Debian安装 WineHQ 安装包

    https://wiki.winehq.org/Debian_zhcn WineHQ 源仓库的密钥于 2018-12-19 改变过.如果您在此之前下载添加过该密钥,您需要重新下载和添加新的密钥并运行 ...

  5. windows一键安装包的升级禅道

    如果你现在使用的是windows xampp 集成运行环境,那么请按照下面的步骤进行: 一.升级步骤: 下载新的源代码包(zip格式).(注意,不是.exe的集成运行环境,如果你下载这个,会造成数据被 ...

  6. LANMPS 一键PHP环境安装包(转)

    转:http://www.lanmps.com/ LANMPS 一键安装包,php绿色环境套件包: https://github.com/foxiswho/lanmps 安装 Mar 17, 2017 ...

  7. LNMP一键安装包 PHP自动升级脚本

    LNMP一键安装包 PHP自动升级脚本 2011年03月15日 上午 | 作者:VPS侦探 前一段时间完成了lnmp一键安装包的PHP自动升级脚本,今天发布出来,如果想升级PHP版本的lnmp用户可以 ...

  8. JDK8安装包的下载安装方式以及环境变量的配置

    前面我们介绍了 <Java是什么?>.<OracleJDK是什么?OracleJDK的版本怎么选择?>.<OpenJDK是什么?>以及<OracleJDK 与 ...

  9. InstallShield制作升级安装包

    1. 在General Information里,修改Product Version为新的版本号,此版本号应大于旧的版本号.点击Product Code右面的{...},获取一个新的Product C ...

随机推荐

  1. snappy压缩/解压库

    snappy snappy是由google开发的压缩/解压C++库,注重压缩速度,压缩后文件大小比其它算法大一些 snappy在64位x86并且是小端的cpu上性能最佳 在Intel(R) Core( ...

  2. trade可撤销贪心正确性证明

    鉴于tarde这道题正解过于好写,导致我对这个诡异的贪心的正确性产生了疑问,所以花了2h的时间与同机房神犇M-Blanca,Midoria7,goote~进行讨论,最后与goote~犇犇各得出了一个正 ...

  3. zookeeper在生产环境中的配置(zookeeper3.6)

    一,zookeeper中日志的配置 1,快照文件snapshot的目录: dataDir=/data/zookeeper/data 存储快照文件snapshot的目录.默认情况下,事务日志也会存储在这 ...

  4. Anderson《空气动力学基础》5th读书笔记 第2记——流体静力学初步

    与物体在水中受到水的浮力一样,空气中的物体也会受到空气的浮力,但由于这个浮力往往比较小,实际中的很多问题我们常常将它忽略,而对于像热气球这样的靠空气的浮力产生升力的飞行器来说,空气的浮力是不能忽略的. ...

  5. 使用Pytorch搭建模型

    本来是只用Tenorflow的,但是因为TF有些Numpy特性并不支持,比如对数组使用列表进行切片,所以只能转战Pytorch了(pytorch是支持的).还好Pytorch比较容易上手,几乎完美复制 ...

  6. 简单记录几个wpf学习上的问题[ObservableQueue]

    我想给我的程序加一个下载队列,当我点击一个下载按钮的时候,他应该把这个插件信息(对象)加到一个队列中,然后队列里去实现下载和删除任务,下载完成则删除对象 首先我想到了Queue类型,然后我在我的vie ...

  7. Win32编程之控制线程

    0x01. 如何让线程停下来 让自己停下来: Sleep() 函数 当程序执行到某段代码的时候可以使用sleep() 函数进行暂停 使用sleep()函数挂起的时候会自动恢复过来的 让别人停下来: S ...

  8. CentOS换yum源为国内源

    CentOS换源 yum源 备份原来的文件. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...

  9. python中,*args和**kwargs这两个参数的作用是什么?

    *args和**kwargs这两个都是不定长参数,可以解决函数中参数不固定的问题,*args可以把位置参数转化成元组,**kwagrs可以把关键字参数转化成字段

  10. python框架Django中MTV框架之Template(模板/界面)

    MTV框架之Template(模板/界面) 关注公众号"轻松学编程"了解更多. 1.模板目录位置 应用下 不需要注册 无法跨应用地进行复用 工程下 需要注册 settings.py ...