26.7. 初始化 SystemTap 的交叉检测


初始化 SystemTap 的交叉检测,以从一个系统上的 SystemTap 脚本构建 SystemTap 检测模块,并在另一个系统上使用这些模块没有完全部署 SystemTap。

先决条件

  • SystemTap 安装在主机系统上,如 安装 Systemtap 所述
  • systemtap-runtime 软件包安装在每个目标系统中:

    # dnf install systemtap-runtime
    Copy to Clipboard Toggle word wrap
  • 主机和目标系统都是相同的架构。
  • 主机和目标系统都运行相同的 Red Hat Enterprise Linux 主版本(如 Red Hat Enterprise Linux 10)。

    重要

    内核打包错误可能会阻止在一个系统中安装多个 kernel-debuginfokernel-devel 软件包。在这种情况下,主机和目标系统的次版本必须匹配。如果发生错误,请向 红帽 JIRA 报告错误。

流程

  1. 确定在每个目标系统上运行的内核:

    $ uname -r
    Copy to Clipboard Toggle word wrap
  2. 为每个 目标系统 重复此步骤。
  3. 在主机系统中,根据安装 Systemtap 中描述的方法,为每个目标系统安装目标内核和相关软件包。
  4. 在主机系统中构建检测模块,将这个模块复制到目标系统并在其中运行:

    1. 如果可以从主机系统对目标系统进行 SSH 连接,请使用远程实现:

      # stap --remote <target_system> script
      Copy to Clipboard Toggle word wrap

      您必须确保可以从主机系统对目标系统进行 SSH 连接,才能成功。

    2. 手动:

      1. 在主机系统中构建检测模块:

        # stap -r <kernel_version> script -m <module_name> -p 4
        Copy to Clipboard Toggle word wrap

        在这里,< kernel_version > 是在第 1 步中确定的目标内核版本,script 是要转换为检测模块的脚本,& lt;module_name > 是检测模块的名称。p4 选项告知 SystemTap 不要加载并运行已编译的模块。

      2. 编译检测模块后,将其复制到目标系统并使用以下命令载入它:

        # staprun <module_name>.ko
        Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat