質問: 有識者の皆様 よろしくお願いします。 「CentOS Linux release 7.2.1511 (Core)」を利用しています。 脆弱性対応のため、squidのバージョンを「3.3.8 → 4.0.12」にアップグレードを検討しています。 拡張レポジトリよりアップデートを試みましたが、以下の依存関係によりアップデートが完了しません。 /////////////////////////////////////////////////////////////////////////////////////////////// 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ squid.x86_64 7:3.3.8-26.el7_2.4 を 更新 ---> パッケージ squid.x86_64 7:4.0.12-1.el7.centos を アップデート --> 依存性の処理をしています: libecap.so.3()(64bit) のパッケージ: 7:squid-4.0.12-1.el7.centos.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: 7:squid-4.0.12-1.el7.centos.x86_64 (squid) 要求: libecap.so.3()(64bit) 問題を回避するために --skip-broken を用いることができます。 /////////////////////////////////////////////////////////////////////////////////////////////// libecap.so.3について、epel、remi、RepoForgeのレポジトリから検索しましたが、見つけることができませんでした。 そこで、rpmによるインストールを検討していますが、ディストリビューションについて疑問が出てきました。 以下のサイトでrpmパッケージを検索すると各ディストリビューションのパッケージが検索されます。 https://www.rpmfind.net/linux/rpm2html/search.php 以下、ご質問です。 ディストリビューションが異なっても、同じRedhat系のrpmパッケージであれば、異なるOS(CentOSでFedoraを使うとか)であっても共用利用できるものなのか? 以上です。
回答: > > ディストリビューションが異なっても、同じRedhat系のrpmパッケージであれば、異なるOS(CentOSでFedoraを使うとか)であっても共用利用できるものなのか? > > > RHEL と互換性のある CentOS などは、同じバージョン(RHEL 7 と CentOS 7)であれば RPM を共用利用できます(サブスクリプションの問題は除く)。 しかし、他のディストリビューションの RPM は基本的には動かないと思った方がいいです。 ディストリビューションによってライブラリ環境が異なるので、その環境でコンパイルされた RPM でないと動きません(noarch.rpm であれば利用できるかもしれません)。 また、サービス起動方法の違い(SysVinit, Upstart, Systemd など)もあります。 他のディストリビューションの src.rpm をリビルドすれば動かせる場合もあります。 ただし、リビルドに必要なライブラリが無かったり、前述のサービス起動方法の違いもありますので、その src.rpm によります。 > > エラー: パッケージ: 7:squid-4.0.12-1.el7.centos.x86_64 (squid) > > 要求: libecap.so.3()(64bit) > > > 「el7.centos」と付いているので、CentOS 7 環境でビルドされたものと推測されます。 libecap.so.3 を提供する RPM も同じ場所にありませんか? インターネットで検索すると、squid-4.0.12 は「beta/」にありますが、「beta/」じゃないところに libecap-1.0.0 がありました。