查看: 109|回覆: 0

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

[複製鏈接]

5

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-2-19
發表於 2026-1-9 11:39:00 | 顯示全部樓層 |閲讀模式

官方 只给了源码,我不想每次都编译,应该是可以直接复制到其他的系统上使用

要求

  1. 系统架构 / 版本一致:目标系统和编译系统的操作系统版本(如都是 Ubuntu 20.04/ CentOS 7)、CPU 架构(如都是 x86_64)必须完全一致,否则会出现 “无法执行” 或 “缺少库” 的错误。
  2. 依赖库必须安装:目标系统不需要编译环境(如 gcc、make),但必须安装 spine 运行所需的依赖库(如 MySQL 客户端库、SNMP 库等)。

文件网盘备份下载地址:https://xyweb.lanzout.com/b004j5sktc 密码:dzlt


1、检查CPU架构一致

  • root@Cacti:/opt# uname -m
x86_64

2、检查系统版本(编译程序的系统如下)

  • root@Cacti:/opt# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.2
ID=debian

3、查看spine依赖的库(目标系统必须有这些库) 库文件网盘备份https://xyweb.lanzout.com/ipIcH3fndlub

  • root@Cacti:/opt# ldd /usr/local/spine/bin/spine
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、验证安装是否成功

在目标系统执行以下命令,若能列出库的路径,说明安装成功:

# 检查libnetsnmp.so.40
ldconfig -p | grep libnetsnmp.so.40

# 检查libmariadb.so.3
ldconfig -p | grep libmariadb.so.3

补充:查找 spine 依赖的物理库的方法

# 查找指定库的物理路径
find /lib /usr/lib /usr/local/lib -name "libnetsnmp.so.40"

6、复制文件并配置(配置等文件网盘备份https://xyweb.lanzout.com/iUS693fncq6b)

# 创建目录结构
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 -lash
472K -rwsr-xr-x 1 root root 471K Jan  9 09:47 /usr/local/spine/bin/spine
4.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/spine
chmod u+s /usr/local/spine/bin/spine

# 配置spine(可选:修改数据库连接信息,但我发现好像这里不需要操作)
cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
vim /usr/local/spine/etc/spine.conf
# 可选:修改以下核心配置(和Cacti的数据库配置一致),但我发现好像这里不需要操作:
# DB_Host = localhost
# DB_Database = cacti
# DB_User = cactiuser
# DB_Pass = cactipassword
# DB_Port = 3306

7、测试是否可用

# 验证版本
/usr/local/spine/bin/spine -v

# 验证配置(无报错即正常)
/usr/local/spine/bin/spine -C /usr/local/spine/etc/spine.conf

在Cacti上配置:


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

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部