私はいつもソフトウェアをカスタムコンパイルバージョン(apache、perl、mod_perlなど)に保ついくつかのサーバーを継承しました。毎回コンパイルする代わりにRPMに入れることができると思いました。私はVagrantを通していくつかの新しいアイデアを試しています。これは部分的に学習プロセスに関するものでもあります。
そのうちの1つはカスタムPerlバージョン5.14.2です。新しいVagrantボックスで実行し、 "checkinstall"を使用してRPMを生成したコンパイルスクリプトがあります。すべてがうまく機能するようにコンパイルした後、同じボックスに2つのバージョンのPerlがあります(カスタムバージョンは/ opt / perlに入ります)。
しかし、Perl RPMがあり、新しいボックスを購入してyumを介してインストールしようとすると、次のエラーが発生します。
yum -y install /vagrant/perl-5.14.2-1.x86_64.rpm
Examining /vagrant/perl-5.14.2-1.x86_64.rpm: perl-5.14.2-1.x86_64
/vagrant/perl-5.14.2-1.x86_64.rpm: does not update installed package.
これが言葉になるかもしれないのでrpmを試してみることにしました...
rpm -ivh /vagrant/perl-5.14.2-1.x86_64.rpm
perl(DBD::SQLite) is needed by perl-5.14.2-1.x86_64
perl(DBIx::Simple) is needed by perl-5.14.2-1.x86_64
perl(FCGI) is needed by perl-5.14.2-1.x86_64
perl(Mac::BuildTools) is needed by perl-5.14.2-1.x86_64
perl(Mac::InternetConfig) is needed by perl-5.14.2-1.x86_64
perl(Tk) is needed by perl-5.14.2-1.x86_64
perl(Tk::Pod) is needed by perl-5.14.2-1.x86_64
perl(Your::Module::Here) is needed by perl-5.14.2-1.x86_64
だからいくつかの質問があります。カスタムビルドスクリプトを使用してRPMを生成するのは正しいことです(配布版の独自バージョンではなくコンパイルが必要であると仮定)。 rpmやyum経由でインストールしますか?
rpm -ivhは依存関係があると言いますが、元のコンパイル/検査インストールでは依存関係を表示せずに正しく機能するのはなぜですか?
編集:これはrpm -qiの出力です。
rpm -qi perl
Name : perl Relocations: (not relocatable)
Version : 5.10.1 Vendor: CentOS
Release : 136.el6_6.1 Build Date: Wed 12 Nov 2014 09:22:55 UTC
Install Date: Thu 14 May 2015 09:55:13 UTC Build Host: c6b8.bsys.dev.centos.org
Group : Development/Languages Source RPM: perl-5.10.1-136.el6_6.1.src.rpm