質問: こちらの記事を参考に、CentOS6をCentOS7にアップグレードしました。 アップグレード自体は完了したのですが、その後yum updateをしようとしたところ、el6関連のパッケージが残っていてエラーになりました。これらのほとんどはyum remove等で解消できたのですが、最後に下記のエラーが残って解消できず、 yum update が実行できません。 > > Transaction check error: > > file /usr/lib64/libnsspem.so from install of nss-pem-1.0.3-5.el7_6.1.x86_64 conflicts with file from package nss-3.36.0-9.el6_10.x86_64 > > > 「el6」というのがあったので yum remove しようとしたのですが、 > > エラー: "systemd" を削除しようとしています、保護されています > > エラー: "yum" を削除しようとしています、保護されています > > > と表示され、削除できませんでした。 ならばと yum install nss とやってみたのですが、 > > 一致したパッケージ nss-3.36.0-7.1.el7_6.x86_64 はすでにインストールされています。更新を確認しています。 > > 何もしません > > > となってしまいます。 インストールされていますと書かれてはいますが、 yum list installed や rpm -qi 等で調べてみてもel7のものは存在せず、el6のものしかインストールされていないようです。 ちなみに yum update nss とやってみましたら、 > > No packages marked for update > > > となり、こちらでも解決できませんでした。 アップグレードツールのせいかもしれませんが、このようなインストール済みパッケージのバージョンが誤認されるケースは通常起こり得るのでしょうか。 また、今回遭遇しているこのエラーを解消する方法はあるのでしょうか。 CentOS7をクリーンインストールした方が良いとも思うのですが、事情がありクリーンインストールではなくアップグレードを完遂させたいと考えております。 何卒皆様のお力添えを頂きたく存じます。 よろしくお願いいたします。
回答: CentOS 7 の nss-3.36.0-7.1.el7_6.x86_64 より CentOS 6 の nss-3.36.0-9.el6_10.x86_64 の方がバージョン・リリース番号が新しいため、yum でアップデートできないようです。 nss-3.36.0-7.1.el7_6.x86_64.rpm ファイルをダウンロードして、 `rpm -Uvh --oldpackage nss-3.36.0-7.1.el7_6.x86_64.rpm` または `rpm -Uvh --force nss-3.36.0-7.1.el7_6.x86_64.rpm` で nss を置き換えられませんでしょうか? 依存関係でダメかもしれませんが。