httpd-devel에는 CentOS 6.3 x86_64 및 Apache/2.2.15에서 오래된 버전의 glibc-common이 필요합니다. 2.12-1.80.el6이 필요합니다. 2.12-1.80.el6_3.3.x86_64를 설치했습니다(CentOS @update repo를 통해).
"yum install httpd-devel.x86_64"를 실행할 때 발생하는 오류입니다.
오류: 패키지: glibc-2.12-1.80.el6.i686(기본):
Requires: glibc-common = 2.12-1.80.el6
Installed: glibc-common-2.12-1.80.el6_3.3.x86_64 (@updates)
glibc-common = 2.12-1.80.el6_3.3
Available: glibc-common-2.12-1.80.el6.x86_64 (base)
glibc-common = 2.12-1.80.el6
"yum install httpd-devel.x86_64 --skip-broken"을 사용하면 다음을 얻습니다.
종속성 문제로 인해 건너뛴 패키지:
> apr-1.3.9-3.el6_1.2.i686 from base apr-devel-1.3.9-3.el6_1.2.x86_64
> from base apr-util-devel-1.3.9-3.el6_0.1.x86_64 from base
> cyrus-sasl-devel-2.1.23-13.el6.x86_64 from base
> db4-cxx-4.7.25-17.el6.x86_64 from base db4-devel-4.7.25-17.el6.x86_64
> from base glibc-2.12-1.80.el6.i686 from base
> 1:httpd-devel-2.2.15-15.el6.vm.1.x86_64 from virtualmin
> libuuid-2.17.2-12.7.el6.i686 from base
> nss-softokn-freebl-3.12.9-11.el6.i686 from base
> openldap-devel-2.4.23-26.el6.x86_64 from base
결론,httpd-devel을 설치할 수 없습니다.
이것이 우선순위 문제가 될 수 있습니까?
priority = 1 [asl-3.0]
priority = 1 [base]
priority = 1 [virtualmin]
priority = 1 [virtualmin-universal]
priority = 50 [epel]
repo id | repo name | status
C6.0-base | CentOS-6.0 - Base | disabled
C6.0-centosplus | CentOS-6.0 - CentOSPlus | disabled
C6.0-contrib | CentOS-6.0 - Contrib | disabled
C6.0-extras | CentOS-6.0 - Extras | disabled
C6.0-updates | CentOS-6.0 - Updates | disabled
C6.1-base | CentOS-6.1 - Base | disabled
C6.1-centosplus | CentOS-6.1 - CentOSPlus | disabled
C6.1-contrib | CentOS-6.1 - Contrib | disabled
C6.1-extras | CentOS-6.1 - Extras | disabled
C6.1-updates | CentOS-6.1 - Updates | disabled
C6.2-base | CentOS-6.2 - Base | disabled
C6.2-centosplus | CentOS-6.2 - CentOSPlus | disabled
C6.2-contrib | CentOS-6.2 - Contrib | disabled
C6.2-extras | CentOS-6.2 - Extras | disabled
C6.2-updates | CentOS-6.2 - Updates | disabled
asl-3.0 | Atomicorp - - Atomic Secured Linux 3.0 | enabled: | 623
asl-3.0-testing | Atomicorp - - Atomic Secured Linux 3.0 (TESTING) | disabled
base | CentOS-6 - Base | enabled: | 6,346
c6-media | CentOS-6 - Media | disabled
centosplus | CentOS-6 - Plus | disabled
contrib | CentOS-6 - Contrib | disabled
debug | CentOS-6 - Debuginfo | disabled
epel | Extra Packages for Enterprise Linux 6 - x86_64 | enabled: 7,627+125
epel-debuginfo | Extra Packages for Enterprise Linux 6 - x86_64 - Debug | disabled
epel-source | Extra Packages for Enterprise Linux 6 - x86_64 - Source | disabled
epel-testing | Extra Packages for Enterprise Linux 6 - Testing - x86_64 | disabled
epel-testing-debuginfo | Extra Packages for Enterprise Linux 6 - Testing - x86_64 - Debug | disabled
epel-testing-source | Extra Packages for Enterprise Linux 6 - Testing - x86_64 - Source | disabled
extras | CentOS-6 - Extras | enabled: | 4
updates | CentOS-6 - Updates | enabled: | 0+523
virtualmin | RHEL/CentOS/Scientific 6 - x86_64 - Virtualmin | enabled: | 73
virtualmin-universal | Virtualmin Distribution Neutral Packages | enabled: | 187+1
Apache는 다음에서 제공됩니다.
rpm -qi httpd
Name : httpd Relocations: (not relocatable)
Version : 2.2.15 Vendor: (none)
Release : 15.el6.vm.1 Build Date: Thu 17 May 2012 03:35:08 AM UTC
Install Date: Thu 28 Jun 2012 05:13:47 AM UTC Build Host: srv1.cloud.virtualmin.com
Group : System Environment/Daemons Source RPM: httpd-2.2.15-15.el6.vm.1.src.rpm
Size : 3067984 License: ASL 2.0
Signature : DSA/SHA1, Thu 17 May 2012 03:09:42 PM UTC, Key ID e8dd3fa0a0bdbcf9
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
답변1
우선순위를 비활성화하면 "yum install httpd-devel"이 작동할 수 있습니다.
추신: 지금 내 우선순위는
priority = 10 [asl-3.0]
priority = 10 [asl-3.0-testing]
priority = 20 [virtualmin]
priority = 20 [virtualmin-universal]
priority = 30 [base]
priority = 30 [updates]
priority = 40 [extras]
priority = 50 [epel]
괜찮아 보이는데요?
답변2
축하합니다. 당신은 의존성 지옥에 빠졌습니다[tm]. 좋은 소식은 항상 자해라는 것입니다. 예외는 없습니다.
Virtualmin - 저는 SCONJ를 떠나기 전에 Jamie와 함께 프로젝트에 참여했습니다. 그와는 달리 제공된 httpd-devel은 CentOS를 중심으로 엔터프라이즈 Linux 패키징을 표준화하는 Fedora 지침에 명시된 명명 규칙을 위반했습니다. 이런 일이 발생해서는 안 됩니다. Virtualmin과 같은 타사 저장소는 업스트림에서 전달된 패키지 이름(예: CentOS 자체의 패키지 이름)을 오버로드해서는 안 됩니다.
간단히 말해서, 당신은 나쁜 저장소를 사용하고 있는 것입니다. 기분 나쁘게 생각하지 마십시오. 많은 사람들이 이 문제를 겪고 있으며 다른 사람들에 대해 알 방법이 없습니다. Evan Dag는 자신의 RPM에서 이 작업을 수행한 적이 있습니다.
나는 우선 순위 설정을 사용한 적이 없으며 98년경부터 RedHat/derivs를 사용해 왔습니다. 귀하의 솔루션이 작동하는지 여부에 대해서는 언급할 수 없습니다. 모든 것이 현재 규정이 피하고 있는 문제를 해결하기 위한 해킹처럼 보입니다.
virtualmin 저장소를 비활성화하십시오.
sed -i '/^enabled/r\enabled=0' /etc/yum.repos.d/name-of-virtualmin.repo-file
일회성 작업을 위해 명령줄에서만 활성화하고, 문제를 해결하기 전에 종속성 문제를 일으킬 수 있다는 점을 이해하세요.
yum --enablerepo virtualmin [command]
Jamie는 매우 똑똑하고 유능한 개발자이므로 그의 제품과 저장소는 더 좋아질 것입니다. 이것은 단기적인 일일 수 있습니다.