すべてのプロダクト
Search
ドキュメントセンター

Server Migration Center:「複数のdevelカーネルがインストールされている」というエラーメッセージが表示された場合はどうすればよいですか?

最終更新日:Oct 21, 2024

問題の説明

オペレーティングシステムの移行中に、「複数のdevelカーネルがインストールされました」というエラーメッセージが報告されます。

原因

カーネル開発には、kernel-develパッケージが使用されます。 たとえば、kernel-develパッケージを使用して、カーネルのソースコードを使用せずにカーネルモジュールを開発できます。 kernel-develパッケージは、カーネルパッケージに基づいてモジュールを構築するのに十分なカーネルヘッダーファイルとMakefileを提供します。 カーネルモジュールを開発するときは、このパッケージ内の対応するカーネルヘッダーファイルのみを参照する必要があります。 kernel-develパッケージは, 対応するバージョンのカーネルプログラムを開発およびコンパイルする開発環境にのみインストールする必要があります。 kernel-develパッケージをアンインストールしても、開発環境は影響を受けません。 dnfコマンドは、複数のkernel-develパッケージの一括アップグレードをサポートしていません。 複数のkernel-develパッケージがインストールされている場合、オペレーティングシステムの移行に失敗する可能性があります。

解決策

  1. 移行するオペレーティングシステムのElastic Compute Service (ECS) インスタンスに接続します。 詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. 不要なkernel-develパッケージを削除して、kernel-develパッケージを1つだけ保持します。

    1. 次のコマンドを実行して、インストールされたkernel-develパッケージを表示します。

      rpm -qa | grep kernel-devel

      オペレーティングシステムにインストールされているすべてのkernel-develパッケージの名前とバージョンが表示されます。

      kernel-devel-3.10.0-1160.90.1.el7.x86_64
      kernel-devel-3.10.0-1160.80.1.el7.x86_64
    2. 次のコマンドを実行して、不要なkernel-develパッケージを削除し、1つのkernel-develパッケージのみを保持します。

      yum remove kernel-devel-3.10.0-1160.80.1.el7.x86_64
    3. yを入力し、Enterキーを押して削除を確認します。

  3. エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。