usr/bin/ld cannot find lxxx 问题

在源码安装 snmp 时,在安装的第一步

./configure --prefix=/usr/local/snmp --with-mib-modules=ucd-snmp/diskio

时出现了错误:

记录一下解决办法。

这是编译软件时常遇到的错误讯息。

/usr/bin/ld: cannot find -lxxx 

其中xxx即表示函式库文件名称,有以下几种情形:

  • 系统没有安装相对应的lib
  • 相对应的lib版本不对
  • lib的symbolic link 不正确,没有连结到正确的函式库文件(.so)

在我的例子中是没有安装 perl 的 lib 文件。于是这么解决:

apt-get install libperl-dev

大功告成。

参考资料


使用 snmp 协议监控服务器

简单网络管理协议(SNMP)。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。本文介绍 SNMP 代理程序 Net-SNMP 的安装过程。

编译安装

编译安装前先安装 perl 包(如果系统没有安装的话)

apt-get install libperl-dev

下载源码:https://jaist.dl.sourceforge.net/project/net-snmp/

当前最新版是5.7.3 https://jaist.dl.sourceforge.net/project/net-snmp/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz

wget https://jaist.dl.sourceforge.net/project/net-snmp/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz
tar -xzvf net-snmp-5.7.3.tar.gz
cd net-snmp-5.7.3 
./configure --prefix=/usr/local/snmp --with-mib-modules=ucd-snmp/diskio

接下来填写相关信息

  • 安装版本
  • 域名信息
  • 服务器地址
  • 日志文件地址
  • 配置文件位置

接下来

make 
make install

设置验证

为了防止其它主机访问你的SNMP代理程序,我们需要在SNMP代理程序上加入身份验证机制。

SNMP支持不同的验证机制,这取决于不同的SNMP协议版本

  • v2c版本的验证机制比较简单,它基于明文密码和授权IP来进行身份验证
  • v3版本则通过用户名和密码的加密传输来实现身份验证

注意一点,SNMP协议版本和SNMP代理程序版本是两回事,v2c和v3是指SNMP协议的版本,Net-SNMP是用来实现SNMP协议的程序,目前它的最新版本是5.7.3。

打开配置文件:

vi /usr/local/snmp/share/snmp/snmpd.conf

然后添加一个只读帐号(确保 SNMP 不运行):

rouser kelu auth

“rouser”用于表示只读帐号类型,随后的“kelu”是指定的用户名,后边的“auth”指明需要验证。

添加创建用户的指令

vi /var/net-snmp/snmpd.conf
createUser kelu MD5 mypassword

创建一个名为“kelu”的用户,密码为“mypassword”,并且用MD5进行加密传输。

密码至少要有8个字节

一旦snmpd启动后,出于安全考虑,以上这行配置会被snmpd自动删除

启动SNMP代理程序

启动snmpd:

/usr/local/snmp/sbin/snmpd

关闭:

killall -9 snmpd

iptable

如果有做防火墙设置的话,添加这两个配置:

iptables -A INPUT -i eth0 -p udp -s xx.xx.xx.xx --dport 161 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s xx.xx.xx.xx --dport 161 -j ACCEPT

测试是否启动成功

访问监控宝进行测试 SNMP远程测试

参考资料


Setapp 最多可免费用6个月

今天看了 v2ex 上一帖子说 setapp 推荐新用户免费用,刚好也蛮认同他们的理念的,就来用一波。

先上我的邀请链接,有需要的朋友可以帮个忙点击注册下哈o(^▽^)o: https://my.setapp.com/signup?referral=31a121c9-36ac-4e4e-a616-adccbfd8e8f7

每邀请一人可以免费试用1个月,最多6个月。

Mac 上的软件是蛮好用的,除了一点——开发者开发商利用系统升级各种圈钱。 别的不说,就说虚拟机软件 Parallel ,每次升级都要搞个200多才能用,实在恼人。还有就是 Tweetbot,iOS 上已经圈了几波钱了,虽然 Mac 里也有购买,总是担心它哪天缺钱来再搞一次 100 多人民币的购买费,钱包就受不了了。

Setapp 是一个专门提供 Mac 付费软件包月服务的应用商城,由著名的软件公司 MacPaw 所开发。收费标准是 10 美元一个月。这对开发者来说也是好事,卖出软件获得了一次性收入后没有收入进账,付费购买大版本更新,用户会认为作者是在借更新敛财。通过 Setapp,用户缴纳的 9.99 美元的包月费用,可以帮软件作者解决了经常性收入的问题。 也不用再在营销上花费精力和金钱,去和其他质量更低的软件竞争。

对于用户来说,个人感觉对新用户非常友好,一方面是可以用到了你需要的软件,另一方面,你可以接触到很多也很优秀的软件,试用下说不定你就喜欢上了,试用一个月,对里面的软件基本上也就了如指掌了。这时候如果不想再用他们的服务了,直接买断里面自己喜欢的app就可以了。


robot framework 简介与相关应用

自动化测试

  • 自动化测试是定义一种统一的方式来书写和组织测试用例
  • 控制测试用例的执行过程
  • 生成测试报告和测试日志

自动化测试适用于功能成熟(需求变动较小),产品更新维护周期长,软件开发比较规范,具有可测试性的项目。

robot framework

Robot Framework 的架构是由python编写的,开源通用的自动化测试框架,主要用于多轮次的验收测试和验收测试驱动开发(ATDD-Acceptance Test-Driven Development) ,具有易于使用的表格来组织测试过程和测试数据。

支持jenkins持续化集成

常常与 RF 搭配的工具

  • jenkins 持续集成工具
  • slack 效率沟通工具
  • docker 统一环境

参考资料