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

浙公网安备 33010602011771号