openSUSE 安装 G0agent 3.0.1

GoAgent 3.0.1 发布了, 虽然用 G0agent 用了很久, 这次升级还是有点小破折, 在这里写下解决步骤, 免得大家再去Google.

急着想把 g0agent 3.0.1 先用起来的, 直接用 zypper 和 pip-3.3 安装下面的包就可以了, 原因写在后面.

zypper in libpython3_3m1_0 python3 python3-base python3-pip gcc gcc-c++ make autoconf python3-devel libopenssl-devel mozilla-nss-tools
pip-3.3 install pyOpenSSL

其余的步骤大家应该都知道了, 不知道的童鞋请参考 Linux桌面下使用G0Agent科学上网 .

我遇到报错有2 个, 原因如下:

Python3 import OpenSSL报错, 因为zypper in python-pyOpenSSL 只安装了python 2.7的模块, 现在还没有python3-pyOpenSSL的包. 用pip-3.3 安装会编译Python3.3 的模块, 希望维护这个包的童鞋抓紧了. XD

依赖 mozilla-nss-tools 包里 /usr/bin/certutil 这个工具. 是用来导入证书的, 所以第一次运行 G0Agent 要用 root 或者 sudo。

最后还有这个报错, 估计是导入证书没成功, 还没有看是什么原因. 我是用 root 启动的 G0Agent,

==== 最后请教一个小问题 ====
之前一直在用RHEL 系的系统, 假设我想找 `/usr/bin/certutil’ 这个文件在哪些RPM 包里, 命令:

# yum provides /usr/bin/certutil
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * elrepo: elrepo.org
 * elrepo-extras: elrepo.org
 * elrepo-kernel: elrepo.org
 * rpmforge: ftp.riken.jp
nss-tools-3.14.0.0-12.el6.x86_64 : Tools for the Network Security Services
Repo        : base
Matched from:
Filename    : /usr/bin/certutil



nss-tools-3.13.3-6.el6.x86_64 : Tools for the Network Security Services
Repo        : installed
Matched from:
Other       : Provides-match: /usr/bin/certutil

然后我 yum -y install 对应的 RPM 就可以了, 请问 zypper 对应的命令是什么? 翻了 man 文档, 试了一下 wp, 发现只能找到某个包属于哪一个 Repo。

cnf xx?

改了帖子,搜索引擎不分大小写,那么规避没用。

關於證書導入失敗,是因為那個數據庫根本就不存在,當然是 bad database 了。你在網上找找 certutil 創建數據庫的命令吧!

從 berryboy2012 的爪子中逃出
☆〜(ゝ。∂)

多谢楼上几位!

创建NSS数据库的步骤为:

mkdir -p ~/.pki/nssdb/ && certutil -N -d ~/.pki/nssdb/

用 `~/.pki/nssdb/’ 这个文件夹是因为firefox和chrome都默认从这里找证书,
参考了 linux 下安全证书管理 这篇日志.

command-not-found 还真是工具如其名, 只能搜命令, 和 yum provides 比有点差强人意.
yum provides 是根据文件名查找仓库里包, 文件名的路径里还可应用通配符, 关键是可以通过 RPM 包里的任意文件来找到这个包, 配置文件, 开发库, 头文件都可以.
比如这样用:

yum provides /usr/include/*/syslog.h
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * elrepo: elrepo.org
 * rpmforge: ftp.riken.jp
libwsman-devel-2.2.3-8.el6.x86_64 : Open-source Implementation of WS-Management
Repo        : base
Matched from:
Filename    : /usr/include/openwsman/u/syslog.h



glibc-headers-2.12-1.107.el6.x86_64 : Header files for development using standard C libraries.
Repo        : base
Matched from:
Filename    : /usr/include/sys/syslog.h
Filename    : /usr/include/bits/syslog.h



32:bind-devel-9.8.2-0.17.rc1.el6.x86_64 : Header files and libraries needed for BIND DNS development
Repo        : base
Matched from:
Filename    : /usr/include/isc/syslog.h

今天终于在文档里翻出来了,以前怎么就没找到呢,而且 zypper 查 provides 的速度还比较快。

command-not-found 还真是工具如其名, 只能搜命令, 和 yum provides 比有点差强人意.
yum provides 是根据文件名查找仓库里包, 文件名的路径里还可应用通配符, 关键是可以通过 RPM 包里的任意文件来找到这个包, 配置文件, 开发库, 头文件都可以.
比如这样用:

yum provides /usr/include/*/syslog.h
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * elrepo: elrepo.org
 * rpmforge: ftp.riken.jp
libwsman-devel-2.2.3-8.el6.x86_64 : Open-source Implementation of WS-Management
Repo        : base
Matched from:
Filename    : /usr/include/openwsman/u/syslog.h



glibc-headers-2.12-1.107.el6.x86_64 : Header files for development using standard C libraries.
Repo        : base
Matched from:
Filename    : /usr/include/sys/syslog.h
Filename    : /usr/include/bits/syslog.h



32:bind-devel-9.8.2-0.17.rc1.el6.x86_64 : Header files and libraries needed for BIND DNS development
Repo        : base
Matched from:
Filename    : /usr/include/isc/syslog.h