前言
客户要求在内网服务器安装snmp,监控网络性能。无法访问互联网。并且服务器是arm架构的麒麟V10。没有搜索到比较实用的文章,记录下安装过程,主要难点是找安装包、补充依赖库。
一、在麒麟系统包库找snmp安装包
使用rpm方式进行离线安装。在麒麟系统包库找snmp的rpm安装包。
https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/aarch64/Packages/
注意系统版本,根据自己的系统版本查找对应安装包,这六个全部下载
二、安装snmp
将安装包上传到服务器上,执行安装命令:rpm -ivh *.rpm --nodeps --force
[root@ecs-20231218102715 snmp]# ll
total 2296
-rw-r--r-- 1 root root 809956 Feb 19 16:59 net-snmp-5.8-7.ky10.aarch64.rpm
-rw-r--r-- 1 root root 179352 Feb 19 16:59 net-snmp-devel-5.8-7.ky10.aarch64.rpm
-rw-r--r-- 1 root root 17028 Feb 19 16:59 net-snmp-gui-5.8-7.ky10.aarch64.rpm
-rw-r--r-- 1 root root 435956 Feb 19 16:59 net-snmp-help-5.8-7.ky10.noarch.rpm
-rw-r--r-- 1 root root 620216 Feb 19 16:59 net-snmp-libs-5.8-7.ky10.aarch64.rpm
-rw-r--r-- 1 root root 277036 Feb 19 16:59 net-snmp-perl-5.8-7.ky10.aarch64.rpm
[root@ecs-20231218102715 snmp]# rpm -ivh *.rpm --nodeps --force
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:net-snmp-libs-1:5.8-7.ky10 ################################# [ 17%]
2:net-snmp-1:5.8-7.ky10 ################################# [ 33%]
3:net-snmp-perl-1:5.8-7.ky10 ################################# [ 50%]
4:net-snmp-gui-1:5.8-7.ky10 ################################# [ 67%]
5:net-snmp-devel-1:5.8-7.ky10 ################################# [ 83%]
6:net-snmp-help-1:5.8-7.ky10 ################################# [100%]
/usr/lib/tmpfiles.d/net-snmp.conf:1: Line references path below legacy directory /var/run/, updating /var/run/net-snmp → /run/net-snmp; please update the tmpfiles.d/ drop-in file accordingly.
三、启动,出现问题
启动命令为:systemctl start snmpd。启动后提示启动失败。
使用命令查看启动日志:systemctl status snmpd,缺少 libsensors.so.4
[root@ecs-20231218102715 snmp1]# systemctl start snmpd
Job for snmpd.service failed because the control process exited with error code.
See "systemctl status snmpd.service" and "journalctl -xe" for details.
[root@ecs-20231218102715 snmp1]# systemctl status snmpd.service
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2024-02-19 13:35:45 CST; 24s ago
Process: 416351 ExecStart=/usr/sbin/snmpd $OPTIONS -f (code=exited, status=127)
Main PID: 416351 (code=exited, status=127)
Feb 19 13:35:45 ecs-20231218102715 .novalocal systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Feb 19 13:35:45 ecs-20231218102715 .novalocal snmpd[416351]: /usr/sbin/snmpd: error while loading shared libraries: libsensors.so.4: cannot open shared object file: No such file or directory
Feb 19 13:35:45 ecs-20231218102715 .novalocal systemd[1]: snmpd.service: Main process exited, code=exited, status=127/n/a
Feb 19 13:35:45 ecs-202377153650.novalocal systemd[1]: snmpd.service: Failed with result 'exit-code'.
Feb 19 13:35:45 ecs-20231218102715 .novalocal systemd[1]: Failed to start Simple Network Management Protocol (SNMP) Daemon..
四、安装缺少的依赖库
缺少 libsensors.so.4 需要安装 lm_sensors。在麒麟系统包库找 lm_sensors 的rpm安装包。全部下载,并上传服务器。安装命令:rpm -ivh *.rpm --nodeps --force
[root@ecs-20231218102715 lm_sensors]# ll
total 224
-rw-r--r-- 1 root root 137820 Feb 19 17:12 lm_sensors-3.6.0-4.ky10.aarch64.rpm
-rw-r--r-- 1 root root 13100 Feb 19 17:12 lm_sensors-devel-3.6.0-4.ky10.aarch64.rpm
-rw-r--r-- 1 root root 26748 Feb 19 17:12 lm_sensors-help-3.6.0-4.ky10.aarch64.rpm
-rw-r--r-- 1 root root 42784 Feb 19 17:12 lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64.rpm
[root@ecs-20231218102715 lm_sensors]# rpm -ivh *.rpm --nodeps --force
warning: lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
warning: package lm_sensors-3.6.0-4.ky10.aarch64 was already added, skipping lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:lm_sensors-help-3.6.0-4.ky10 ################################# [ 33%]
2:lm_sensors-3.6.0-4.ky10 ################################# [ 67%]
3:lm_sensors-devel-3.6.0-4.ky10 ################################# [100%]
五、解决libsensors.so版本不一致问题
步骤四安装的libsensors.so是5.0.0的版本
[root@ecs-20231218102715 snmp]# ll /usr/lib64/libsensors.so*
lrwxrwxrwx 1 root root 15 Mar 6 2021 /usr/lib64/libsensors.so -> libsensors.so.5
lrwxrwxrwx 1 root root 19 Mar 6 2021 /usr/lib64/libsensors.so.5 -> libsensors.so.5.0.0
-rwxr-xr-x 1 root root 67696 Mar 6 2021 /usr/lib64/libsensors.so.5.0.0
虽然高了一个的版本,但是仍可正常使用。建立一个 libsensors.so.4 的软连接,指向libsensors.so.5.0.0即可。创建软连接的命令:ln -s /usr/lib64/libsensors.so.5.0.0 /usr/lib64/libsensors.so.4。软连接创建后可正常启动,查看服务状态,已经正常启动
[root@ecs-20231218102715 snmp]# ln -s /usr/lib64/libsensors.so.5.0.0 /usr/lib64/libsensors.so.4
[root@ecs-20231218102715 snmp]# ll /usr/lib64/libsensors.so*
lrwxrwxrwx 1 root root 15 Mar 6 2021 /usr/lib64/libsensors.so -> libsensors.so.5
lrwxrwxrwx 1 root root 30 Feb 19 14:34 /usr/lib64/libsensors.so.4 -> /usr/lib64/libsensors.so.5.0.0
lrwxrwxrwx 1 root root 19 Mar 6 2021 /usr/lib64/libsensors.so.5 -> libsensors.so.5.0.0
-rwxr-xr-x 1 root root 67696 Mar 6 2021 /usr/lib64/libsensors.so.5.0.0
[root@ecs-20231218102715 snmp]# systemctl start snmpd
[root@ecs-20231218102715 snmp]# systemctl status snmpd
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2024-02-19 15:18:19 CST; 12ms ago
Main PID: 177618 (snmpd)
Tasks: 1
Memory: 5.8M
CGroup: /system.slice/snmpd.service
└─177618 /usr/sbin/snmpd -LS0-6d -f
Feb 19 15:18:19 ecs-20231218102715 .novalocal systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Feb 19 15:18:19 ecs-20231218102715 .novalocal snmpd[177618]: NET-SNMP version 5.8
Feb 19 15:18:19 ecs-20231218102715 .novalocal systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
参考
查看系统版本:https://blog.csdn.net/weixin_44957529/article/details/136051294
缺少libsensors.so,安装lm_sensors:https://blog.51cto.com/caibird/684969
libsensors.so版本不一致,使用软连接:https://blog.csdn.net/gavin8197/article/details/3556326