0

https://sourceware.org/systemtap/SystemTap_Beginners_Guide/cross-compiling.html#preppingxcompileによると、次の手順に従って、他のコンピューティング用のインストルメンテーションを生成できます。

*1. 各ターゲット システムに systemtap-runtime RPM をインストールします。

  1. 各ターゲット システムで uname -r を実行して、各ターゲット システムで実行されているカーネルを特定します。

  2. ホストシステムに SystemTap をインストールします。ホスト システム上にターゲット システム用のインストルメンテーション モジュールを構築します。SystemTap のインストール方法については、「SystemTap のインストール」を参照してください。

  3. 以前に決定したターゲット カーネル バージョンを使用して、セクション2.1.2「必要なカーネル情報 RPM のインストール」で説明されている方法で、ホスト システムにターゲット カーネルと関連する RPM をインストールします。複数のターゲット システムが異なるターゲット カーネルを使用している場合は、ターゲット システムで使用されている異なるカーネルごとにこの手順を繰り返す必要があります。

**私の質問は

  1. 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 のパスワード:

warning: download/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/rpm には、同時インストールを妨げる意図しない競合が発生する場合があることに注意してください。例えば​​https://bugzilla.redhat.com/show_bug.cgi?id=901635を参照してください。

ローカル ネットワークに少数の VM をインストールし、それぞれが異なるカーネル バージョン/アーキテクチャを実行して目的のターゲットをカバーし、avahi と systemtap compile-server (「stap-server」) を有効にすると便利な場合があります。次に、もう少しワンタイムセットアップを行った後、

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

自動的に動作するはずです。見る

man stap-server
于 2013-12-30T23:56:46.787 に答える