找回密码
 立即注册
首页 业界区 业界 一个编译好的Cacti-spine文件,版本1.2.20,用于Linux ...

一个编译好的Cacti-spine文件,版本1.2.20,用于Linux

涅牵 2026-1-21 21:00:15
官方 只给了源码,我不想每次都编译,应该是可以直接复制到其他的系统上使用
要求

  • 系统架构 / 版本一致:目标系统和编译系统的操作系统版本(如都是 Ubuntu 20.04/ CentOS 7)、CPU 架构(如都是 x86_64)必须完全一致,否则会出现 “无法执行” 或 “缺少库” 的错误。
  • 依赖库必须安装:目标系统不需要编译环境(如 gcc、make),但必须安装 spine 运行所需的依赖库(如 MySQL 客户端库、SNMP 库等)。
文件网盘备份下载地址:https://xyweb.lanzout.com/b004j5sktc 密码:dzlt
1、检查CPU架构一致

  • root@Cacti:/opt# uname -m
  1. x86_64
复制代码
2、检查系统版本(编译程序的系统如下)

  • root@Cacti:/opt# cat /etc/os-release
  1. PRETTY_NAME="Debian GNU/Linux 13 (trixie)"NAME="Debian GNU/Linux"VERSION_ID="13"VERSION="13 (trixie)"VERSION_CODENAME=trixieDEBIAN_VERSION_FULL=13.2ID=debian
复制代码
3、查看spine依赖的库(目标系统必须有这些库) 库文件网盘备份https://xyweb.lanzout.com/ipIcH3fndlub

  • root@Cacti:/opt# ldd /usr/local/spine/bin/spine
  1. linux-vdso.so.1 (0x00007ffc21546000)libnetsnmp.so.40 => /lib/x86_64-linux-gnu/libnetsnmp.so.40 (0x00007c2dbc6e4000)libmariadb.so.3 => /lib/x86_64-linux-gnu/libmariadb.so.3 (0x00007c2dbc689000)libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007c2dbc599000)libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007c2dbc3a3000)libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007c2dbc295000)libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007c2dbbc00000)libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007c2dbc273000)/lib64/ld-linux-x86-64.so.2 (0x00007c2dbc86d000)libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007c2dbbb36000)
复制代码
linux-vdso.so.1是内核级的虚拟库,它不存在于磁盘的任何目录中,而是由 Linux 内核在程序运行时自动映射到进程的地址空间,所有运行在 Linux 系统上的 x86_64 架构程序,都会自动加载这个虚拟库,无需手动安装或复制。
4、安装所有依赖库(对应ldd输出的库)和运行依赖
4.1 Ubuntu/Debian
安装运行依赖( Ubuntu/Debian )


  • root@Cacti:/opt# apt install -y libmysqlclient-dev libssl-dev libsnmp-dev zlib1g-dev
依赖库( Ubuntu/Debian )


  • root@Cacti:/opt# apt install -y libsnmp40 libmariadb3 libssl3 libcrypto3 zlib1g libzstd1
包名对应关系:
libnetsnmp.so.40 → libsnmp40
libmariadb.so.3 → libmariadb3
libssl.so.3/libcrypto.so.3 → libssl3/libcrypto3(Ubuntu 22.04+ 版本)
libz.so.1 → zlib1g
libzstd.so.1 → libzstd1
libm.so.6/libc.so.6//lib64/ld-linux-x86-64.so.2:是 Linux 系统核心库(glibc),所有 Linux 系统默认自带,无需安装。
4.2 CentOS/RHEL
安装运行依赖( CentOS/RHEL )


  • root@Cacti:/opt# yum install -y mysql-community-devel openssl-devel net-snmp-devel zlib-devel
依赖库( CentOS/RHEL )


  • root@Cacti:/opt# yum install -y net-snmp-libs mariadb-connector-c-libs openssl-libs zlib zstd-libs
包名对应关系:
libnetsnmp.so.40 → net-snmp-libs
libmariadb.so.3 → mariadb-connector-c-libs
libssl.so.3/libcrypto.so.3 → openssl-libs(CentOS 9+ 版本)
libz.so.1 → zlib
libzstd.so.1 → zstd-libs
5、验证安装是否成功
在目标系统执行以下命令,若能列出库的路径,说明安装成功:
  1. # 检查libnetsnmp.so.40ldconfig -p | grep libnetsnmp.so.40# 检查libmariadb.so.3ldconfig -p | grep libmariadb.so.3
复制代码
补充:查找 spine 依赖的物理库的方法
  1. # 查找指定库的物理路径find /lib /usr/lib /usr/local/lib -name "libnetsnmp.so.40"
复制代码
6、复制文件并配置(配置等文件网盘备份https://xyweb.lanzout.com/iUS693fncq6b)
  1. # 创建目录结构mkdir -p /usr/local/spine/bin /usr/local/spine/etc# 文件位置(配置等文件网盘备份链接:https://xyweb.lanzout.com/iUS693fncq6b)root@Cacti:/opt# ls /usr/local/spine/bin/spine /usr/local/spine/etc/spine.conf.dist -lash472K -rwsr-xr-x 1 root root 471K Jan  9 09:47 /usr/local/spine/bin/spine4.0K -rw-r--r-- 1 root root 3.6K Jan  9 10:35 /usr/local/spine/etc/spine.conf.dist# 官方推荐设置权限chown root:root /usr/local/spine/bin/spinechmod u+s /usr/local/spine/bin/spine# 配置spine(可选:修改数据库连接信息,但我发现好像这里不需要操作)cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.confvim /usr/local/spine/etc/spine.conf# 可选:修改以下核心配置(和Cacti的数据库配置一致),但我发现好像这里不需要操作:# DB_Host = localhost# DB_Database = cacti# DB_User = cactiuser# DB_Pass = cactipassword# DB_Port = 3306
复制代码
7、测试是否可用
  1. # 验证版本/usr/local/spine/bin/spine -v# 验证配置(无报错即正常)/usr/local/spine/bin/spine -C /usr/local/spine/etc/spine.conf
复制代码
在Cacti上配置:


尚未实际测试复制过去的二进制文件等是否可用,此笔记待完善


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

前天 05:53

举报

14 小时前

举报

懂技术并乐意极积无私分享的人越来越少。珍惜
您需要登录后才可以回帖 登录 | 立即注册