centos9编译安装suricata8.0

1.编译安装suricata

1.解压
tar xzvf suricata-8.0.0.tar.gz && cd suricata-8.0.0

2.配置
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-debug --enable-hyperscan --enable-lua --enable-rust --enable-unittests

3.编译make -j$(nproc)(使用多核加速)。

4.安装
sudo make install
make install-full(安装配置和规则)。
默认安装到 /usr/bin/suricata,配置在 /etc/suricata/suricata.yaml。

2.configure出现的各种问题全是缺乏依赖导致,根据提示信息,安装依赖即可

错误
no acceptable C compiler found in $PATH

1. 安装开发工具包(Development Tools),CentOS 使用 dnf 包管理器来安装软件。Development Tools 是一个软件包组,它包含了 GCC 编译器、make、autoconf、automake 等几乎所有编译 C/C++ 项目所需的工具。
dnf groupinstall "Development Tools"
dnf install gcc make

2. 安装 Suricata 特定的依赖库
Suricata 是一个功能强大的网络工具,它依赖很多第三方库来实现诸如协议解析、YAML配置、正则表达式匹配、数据包捕获等功能。
dnf install libpcap-devel libnet-devel libyaml-devel jansson-devel libcap-ng-devel pcre2-devel zlib-devel libmaxminddb-devel rustc cargo libffi-devel
关键依赖说明:

libpcap-devel: 数据包捕获库(必需)
libyaml-devel: 解析 YAML 配置文件(必需)
jansson-devel: JSON 支持
pcre2-devel: 正则表达式支持(必需)
libnet-devel: 数据包构造功能
libmaxminddb-devel: GeoIP 地理定位支持
rustc cargo: Suricata 8 的部分功能(如 Rust 日志输出)需要 Rust 编译器

pcre2未安装
ERROR!  pcre2 library not found, go get it
3.dnf install -y pcre2-devel

libyaml未安装
ERROR!  libyaml library not found, go get it
4.编译安装libyaml-devel
wget https://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz
tar -xzf yaml-0.2.5.tar.gz
cd yaml-0.2.5
./configure
make
make install

Error: Unable to find a match: jansson-devel
5.编译安装jansson
wget https://github.com/akheron/jansson/releases/download/v2.14/jansson-2.14.tar.gz
tar -xzf jansson-2.14.tar.gz
cd jansson-2.14
./configure
make
make install

Error: Unable to find a match: libpcap-deve
configure: error: pcap.h not found
6.软件仓库安装
dnf install epel-release
dnf config-manager --set-enabled crb
dnf install libpcap-devel

报错信息
ERROR!  libhiredis library not found, go get it
7.dnf install -y hiredis-devel

ERROR: Rust compiler not found.
8.dnf install rustc cargo

更新动态链接库缓存
9.ldconfig

3.编译安装suricata出现的依赖问题,使用下述方法全部解决

1.启用 CRB(CentOS 9 相当于 Fedora 的 PowerTools)与 EPEL
dnf config-manager --set-enabled crb
dnf -y install epel-release epel-next-release dnf-plugins-core

2.基础构建工具 & 最小依赖
dnf -y install gcc gcc-c++ make autoconf automake libtool pkgconf-pkg-config \
  libpcap-devel libyaml-devel jansson-devel pcre2-devel zlib-devel lz4-devel \
  libcap-ng-devel file-devel rustc cargo cbindgen cmake git

3.安装hyperscan
dnf -y install hyperscan hyperscan-devel

4.编译(让文件落在标准系统路径;显式开启 hyperscan 探测)
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var  --enable-hyperscan

5.编译 & 安装
make -j$(nproc)
make install-full     # 安装二进制 + 默认配置 + 规则集

4.执行make install-full出现pyyaml无法找到

centos替换Python2为Python3
# 将 python3 加入到 alternatives 列表
sudo alternatives --install /usr/bin/python python /usr/bin/python2 50
sudo alternatives --install /usr/bin/python python /usr/bin/python3 60

# 配置交互式选择,或者直接设置优先级最高的版本
sudo alternatives --config python
vi /usr/bin/yum
第一行从 #!/usr/bin/python 修改为 #!/usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
将其第一行 #!/usr/bin/python 修改为 #!/usr/bin/python2

pip3 install pyyaml

 

posted @ 2025-08-21 15:10  岐岐卡卡西  阅读(10)  评论(0)    收藏  举报