.. _installation: 安装 ============ 在使用Suricata之前需要先进行安装。可以通过二进制包在各种发行版上安装Suricata:参考 :ref:`install-binary-packages`。 对于熟悉自行编译软件的用户,推荐采用`源码安装`方式。 高级用户可以查看进阶指南:参考 :ref:`install-advanced`。 源码安装 ------ 通过源码发行文件安装能最大程度控制Suricata的安装过程。 在构建源码前应验证Suricata源码发行文件的完整性,参见 :doc:`verifying-source-files`。 基本步骤:: tar xzvf suricata-7.0.0.tar.gz cd suricata-7.0.0 ./configure make make install 这将把Suricata安装到 ``/usr/local/bin/`` 目录,默认配置文件位于 ``/usr/local/etc/suricata/`` ,日志输出到 ``/usr/local/var/log/suricata`` 常用配置选项 ^^^^^^^^^^^^^^^^^^^^^^^^ .. option:: --disable-gccmarch-native 不针对构建硬件优化二进制文件。若需二进制可移植或在虚拟机中使用Suricata时添加此标志。 .. option:: --prefix=/usr/ 将Suricata二进制文件安装到/usr/bin/。默认为 ``/usr/local/`` .. option:: --sysconfdir=/etc 将配置文件安装到/etc/suricata/。默认为 ``/usr/local/etc/`` .. option:: --localstatedir=/var 设置日志目录为/var/log/suricata/。默认为 ``/usr/local/var/log/suricata`` .. option:: --enable-lua 启用Lua支持用于检测和输出。 .. option:: --enable-geoip 启用GeoIP检测支持。 .. option:: --enable-dpdk 启用 `DPDK `_ 抓包方法。 依赖与编译 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ubuntu/Debian """"""""""""" .. note:: 以下指令需要安装 ``sudo`` 。 .. literalinclude:: ../../scripts/docs-ubuntu-debian-minimal-build.sh :caption: Ubuntu/Debian最小依赖 :language: bash :start-after: # install-guide-documentation tag start: Minimal dependencies :end-before: # install-guide-documentation tag end: Minimal dependencies CentOS, AlmaLinux, RockyLinux, Fedora等 """""""""""""""""""""""""""""""""""""""""" .. note:: 以下指令需要安装 ``sudo`` 。 要安装所有最小依赖,多数发行版需要启用额外软件仓库。可通过以下方式之一启用:: sudo dnf -y update sudo dnf -y install epel-release dnf-plugins-core # AlmaLinux 8 / RockyLinux 8 sudo dnf config-manager --set-enabled powertools # AlmaLinux 9 / RockyLinux 9 sudo dnf config-manager --set-enable crb # Oracle Linux 8 sudo dnf config-manager --set-enable ol8_codeready_builder # Oracle Linux 9 sudo dnf config-manager --set-enable ol9_codeready_builder .. literalinclude:: ../../scripts/docs-almalinux9-minimal-build.sh :caption: RPM系发行版最小依赖 :language: bash :start-after: # install-guide-documentation tag start: Minimal RPM-based dependencies :end-before: # install-guide-documentation tag end: Minimal RPM-based dependencies Windows """"""" Windows平台源码构建安装参见 :doc:`install/windows`。 编译 """"""""""" 在Suricata目录执行以下步骤:: ./configure # 可在此添加额外参数 # ./configure --help 查看所有可用参数 # j参数用于并行编译;数字表示并行度,请根据构建系统选择合适数值 make -j8 make install # 安装编译好的Suricata二进制文件 # make install-full - 同时安装配置文件和规则集 Rust支持 """""""""""" Rust包可通过包管理器获取,但某些发行版未提供或提供过时版本。 若版本不足可直接从Rust项目安装:: 1) 安装Rust https://www.rust-lang.org/en-US/install.html 2) 安装cbindgen - 若仓库中未找到或版本过低,可强制安装: cargo install --force cbindgen 3) 确保cargo路径在PATH环境变量中 echo 'export PATH="~/.cargo/bin:${PATH}"' >> ~/.bashrc export PATH="~/.cargo/bin:${PATH}" 自动配置 ^^^^^^^^^^ 也可使用Suricata的自动配置功能: :: ./configure && make && sudo make install-conf *make install-conf* 会执行常规安装并自动创建/设置所需目录及 ``suricata.yaml`` 配置文件。 :: ./configure && make && sudo make install-rules *make install-rules* 会执行常规安装并自动从Emerging Threats下载最新规则集。 :: ./configure && make && sudo make install-full *make install-full* 会整合上述所有功能(install-conf和install-rules),提供开箱即用的Suricata环境。 .. _install-binary-packages: 二进制包安装 --------------- .. toctree:: :maxdepth: 1 install/ubuntu install/debian install/rpm install/other Suricata可通过二进制包在各种发行版便捷安装,无需编译源码。 **Ubuntu系统**: 参考 :doc:`install/ubuntu` 了解通过PPA仓库安装的详细说明。 **Debian系统**: 参考 :doc:`install/debian` 了解通过官方仓库和backports安装的详细说明。 **RPM系发行版(CentOS, AlmaLinux, RockyLinux, Fedora等)**: 参考 :doc:`install/rpm` 了解通过COPR仓库安装的详细说明。 **其他发行版**: 参考 :doc:`install/other` 获取Arch Linux等发行版的安装说明。 .. _install-advanced: 高级安装 --------------------- Ubuntu用户可参考 :doc:`devguide/codebase/installation-from-git`。 其他通过GIT安装的指南及其他操作系统安装说明请查看(请注意内容可能已过时): https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Installation