次のバージョンでパッケージを作成しました。
kmod-dahdi-linux 10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686
これはシステムにインストールされているアップグレードでなければなりません。
kmod-dahdi-linux 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686
私がするときは、yum localupdate
次のようになります。
Resolving Dependencies
--> Running transaction check
---> Package kmod-dahdi-linux.i686 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686 will be updated
---> Package kmod-dahdi-linux.i686 10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686 will be an update
--> Finished Dependency Resolution
ただし、トランザクション検証を実行すると、パッケージを更新せずに並べてインストールするのと同じように、ファイルの競合が発生します。次のようになります。
file /lib/modules/2.6.32-431.el6.i686/dahdi/dahdi.ko from install of kmod-dahdi-linux-10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686.i686
conflicts with file from package kmod-dahdi-linux-2.9.0.1-72_centos6.2.6.32_431.el6.i686.i686
私は古い古いバージョンを試して、エポックを上げてみました。 (ご覧のように、私のエポックは今10です。)
私がするとき:
rpm -Uvh kmod-dahdi-linux-2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686.i686.rpm
正常にアップグレードできます。
rpmバージョンを再確認しましたが、最新バージョンが表示されます。
# rpmdev-vercmp 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686 10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686
10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686 is newer
どんなアイデアがありますか?
追加情報:
まったく同じdistタグを持つようにRPMのサイズを変更しましたが、それでも失敗します。
# yum localupdate kmod-dahdi-linux-2.9.1.1-11_centos6.2.6.32_431.el6.i686.i686.rpm
Resolving Dependencies
--> Running transaction check
---> Package kmod-dahdi-linux.i686 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686 will be updated
---> Package kmod-dahdi-linux.i686 0:2.9.1.1-11_centos6.2.6.32_431.el6.i686 will be an update
--> Finished Dependency Resolution
Transaction Check Error:
file /lib/modules/2.6.32-431.el6.i686/dahdi/dahdi.ko from install of kmod-dahdi-linux-2.9.1.1-11_centos6.2.6.32_431.el6.i686.i686 conflicts with file from package kmod-dahdi-linux-2.9.0.1-72_centos6.2.6.32_431.el6.i686.i686
答え1
installonlypkg
Yumには、パッケージをアップグレードせずに同じパッケージの2つの異なるバージョンを同時にインストールできるようにパッケージをインストールする:sディレクティブがあります。
これは通常デフォルトのカーネルパッケージに役立ちます。アップグレード中に問題が発生した場合は、以前のカーネルに戻ることができます。 (RHEL6 導入ガイドで):
installonlypkgs =スペースで区切られたパッケージのリストここでは、yumがインストールできますが更新できないスペースで区切られたパッケージのリストを提供できます。デフォルトでインストールされるパッケージのリストについては、yum.conf(5) のマニュアルページを参照してください。
カーネルパッケージのトピックについて:
[...]特にカーネルパッケージは常にinstallonlypkgs(デフォルト)にリストする必要があります。
kmodパッケージについてはコメントを参照してください。この bzkmodパッケージがこれに影響を与えるのはなぜですか?これはヒューズにのみ適用されますが、RPMにも同じロジックが適用されます。
% rpm -qp --kmod-fuse-2.7.4-21.el5.i686.rpm カーネルモジュール提供=2.6.18-128.1.10.el5 fusion-kmod=2.7.4-21.el5 modalias(char-main -10-229)
kmod-fuse = 2.7.4-21.el5...そしてkernel-modulesはinstallonlypkgsリストにあるので、yumは指示どおりに実行しています。