![yumは既に存在するカーネルのバージョンを尋ねています](https://rvso.com/image/23921/yum%E3%81%AF%E6%97%A2%E3%81%AB%E5%AD%98%E5%9C%A8%E3%81%99%E3%82%8B%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E5%B0%8B%E3%81%AD%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99.png)
Centos 5.3 x86_64 を搭載したサーバーがあります。yum を使用してこのサーバーにいくつかの asterisk モジュールをインストールしようとしています。yum はカーネルを「kernel-2.6.18-308.11.1.el5」にアップグレードするように要求しました。その後、必要なカーネルがベース リポジトリで利用できなかったため、centos-plus リポジトリを使用してカーネルをアップグレードしました。再起動後、yum を使用して同じモジュールを再度インストールしようとしましたが、「kernel-2.6.18-308.11.1.el5」を再度要求されます。yum は次のように表示します。
Missing Dependency: kernel-x86_64 = 2.6.18-308.11.1.el5 is needed by package
「uname -r」コマンドを使用してカーネルをチェックしたところ、次のように表示されました:
# uname -r
2.6.18-308.11.1.el5.centos.plus
次に、インストールしたカーネルの名前に *.centos.plus が追加されているという違いに気付きました。これが、yum がカーネルを認識しない理由かもしれません。
この問題の解決策を持っている人はいますか? インストールされているカーネルのバージョンを yum に認識させるにはどうすればよいですか?
答え1
実行中のカーネルを で参照していますuname
。Yum は RPM パッケージ データベースを参照しています。カーネルが実際にインストールされているのに、データベースに存在しないような操作を行った可能性があります。このすべての仕組みについて十分な知識がない場合は、再インストール (実行したとおり) するのが、この状態から回復する最も簡単な方法です。
しかし、一歩戻って、yum が認識しているカーネルを確認するには、次のコマンドを実行します。
yum list kernel
探しているカーネルがインストール済みパッケージのリストにない場合は、問題が発生しています。
答え2
32 ビット カーネルがインストールされているようです (uname -r にタグ "x86_64" がありません)。要件は 64 ビット カーネル用です。
64 ビット カーネルの出力例:
# uname -r
2.6.32-279.el6.x86_64