問題の説明
オペレーティングシステムの移行中に、「複数のdevelカーネルがインストールされました」というエラーメッセージが報告されます。
原因
カーネル開発には、kernel-develパッケージが使用されます。 たとえば、kernel-develパッケージを使用して、カーネルのソースコードを使用せずにカーネルモジュールを開発できます。 kernel-develパッケージは、カーネルパッケージに基づいてモジュールを構築するのに十分なカーネルヘッダーファイルとMakefileを提供します。 カーネルモジュールを開発するときは、このパッケージ内の対応するカーネルヘッダーファイルのみを参照する必要があります。 kernel-develパッケージは, 対応するバージョンのカーネルプログラムを開発およびコンパイルする開発環境にのみインストールする必要があります。 kernel-develパッケージをアンインストールしても、開発環境は影響を受けません。 dnfコマンドは、複数のkernel-develパッケージの一括アップグレードをサポートしていません。 複数のkernel-develパッケージがインストールされている場合、オペレーティングシステムの移行に失敗する可能性があります。
解決策
移行するオペレーティングシステムのElastic Compute Service (ECS) インスタンスに接続します。 詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
不要なkernel-develパッケージを削除して、kernel-develパッケージを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
次のコマンドを実行して、不要なkernel-develパッケージを削除し、1つのkernel-develパッケージのみを保持します。
yum remove kernel-devel-3.10.0-1160.80.1.el7.x86_64
y
を入力し、Enter
キーを押して削除を確認します。
エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。