0

根据https://sourceware.org/systemtap/SystemTap_Beginners_Guide/cross-compiling.html#preppingxcompile,我们可以按照以下步骤为其他计算生成工具。

*1。在每个目标系统上安装 systemtap-runtime RPM。

  1. 通过在每个目标系统上运行 uname -r 来确定在每个目标系统上运行的内核。

  2. 在主机系统上安装 SystemTap。您将为主机系统上的目标系统构建检测模块。有关如何安装 SystemTap 的说明,请参阅第 2.1.1 节,“安装 SystemTap”。

  3. 使用之前确定的目标内核版本,按照第 2.1.2 节“安装所需的内核信息 RPM”中描述的方法在主机系统上安装目标内核和相关 RPM。如果多个目标系统使用不同的目标内核,您将需要对目标系统上使用的每个不同内核重复此步骤。*

**我的问题是

  1. 如何在一个主机系统中安装多个版本的 kernel-devel?
  2. 我尝试卸载kernel-devel,kernel-debuginfo,kernel-debuginfo-common,并为目标主机安装一组新的,(目标主机和本主机版本不同),然后我发现运行“stap-- remote xxx" 也需要相同的内核版本。我怎样才能让生活变得轻松?我应该重新安装内核以匹配目标主机的内核版本吗?**

$ sudo rpm -ivh 下载/kernel-devel-2.6.32-220.el6.x86_64.rpm

[sudo] zhifan 的密码:

警告:下载/kernel-devel-2.6.32-220.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ############## ############################# [100%]

    package kernel-devel-2.6.32-279.el6.x86_64 (which is newer than kernel-devel-2.6.32-220.el6.x86_64) is already installed
4

1 回答 1

0

您可能只需要使用

rpm -i --force kernel-devel-FOOBAR

对于每个 FOOBAR。请注意,尽管 rhel/rpms 有时会出现禁止并发安装的意外冲突;参见例如https://bugzilla.redhat.com/show_bug.cgi?id=901635

您可能会发现在本地网络上安装少量 VM 很有用,每个 VM 运行不同的内核版本/arch 以覆盖您所需的目标,并激活 avahi 和 systemtap compile-server(“stap-server”)。然后,经过多一点的一次性设置,

stap --use-server --remote=FOOBAR --remote=OTHERFOOBAR -e 'script'

应该自动工作。看

man stap-server
于 2013-12-30T23:56:46.787 回答