나는 항상 소프트웨어를 사용자 정의 컴파일 버전(apache, perl, mod_perl 등)으로 유지하는 몇 대의 서버를 물려받았습니다. 매번 컴파일하는 대신 RPM에 넣을 수 있다고 생각했습니다. 저는 Vagrant를 통해 몇 가지 새로운 아이디어를 시도하고 있습니다. 이는 부분적으로 학습 과정에 관한 것이기도 합니다.
그 중 하나는 사용자 정의 Perl 버전 5.14.2입니다. 새로운 Vagrant 상자에서 실행하고 "checkinstall"을 사용하여 RPM을 생성한 컴파일 스크립트가 있습니다. 모든 것이 잘 작동하도록 컴파일한 후 동일한 상자에 두 가지 버전의 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