본문 바로가기

리눅스

yum(dnf) 설치 및 업데이트 시 발생하는 패키지 충돌 문제 해결 방법

728x90

yum(dnf) 설치 및 업데이트 시 발생하는 패키지 충돌 문제 해결 방법

yum update -y
problem with installed package perl-ExtUtils-MakeMaker-1:7.34-1.el8.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

이 오류는 설치하려는 패키지가 시스템의 기존 패키지와 버전이나 의존성 문제로 인해 충돌이 발생할 때 나타납니다.

$ yum update -y
Last metadata expiration check: 0:01:21 ago on Mon Aug  9 16:13:32 2021.
Error:
 Problem 1: cannot install both libgomp-8.4.1-1.el8.x86_64 and libgomp-8.3.1-5.el8.0.2.x86_64
  - package gcc-8.3.1-5.el8.0.2.x86_64 requires libgomp = 8.3.1-5.el8.0.2, but none of the providers can be installed
  - cannot install the best update candidate for package libgomp-8.3.1-5.el8.0.2.x86_64
  - problem with installed package gcc-8.3.1-5.el8.0.2.x86_64
 Problem 2: cannot install both libstdc++-8.4.1-1.el8.x86_64 and libstdc++-8.3.1-5.el8.0.2.x86_64
  - package gcc-c++-8.3.1-5.el8.0.2.x86_64 requires libstdc++ = 8.3.1-5.el8.0.2, but none of the providers can be installed
  - cannot install the best update candidate for package libstdc++-8.3.1-5.el8.0.2.x86_64
  - problem with installed package gcc-c++-8.3.1-5.el8.0.2.x86_64
  ...
  Problem 7: cannot install both perl-libs-4:5.26.3-419.el8.x86_64 and perl-libs-4:5.26.3-416.el8.x86_64
  - package perl-devel-4:5.26.3-416.el8.x86_64 requires perl-libs(x86-64) = 4:5.26.3-416.el8, but none of the providers can be installed
  - package perl-interpreter-4:5.26.3-419.el8.x86_64 requires perl-libs(x86-64) = 4:5.26.3-419.el8, but none of the providers can be installed
  - package perl-ExtUtils-MakeMaker-1:7.34-1.el8.noarch requires perl-devel, but none of the providers can be installed
  - cannot install the best update candidate for package perl-interpreter-4:5.26.3-416.el8.x86_64
  - problem with installed package perl-ExtUtils-MakeMaker-1:7.34-1.el8.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

yum(dnf) 및 캐시를 정리 - 효과 없음

yum clean all
$ yum clean all
37 files removed
rm -rf /var/cache/dnf
rm -rf /var/cache/PackageKit

yum update -y --best --allowerasing 명령어로 업데이트 할 수 있었습니다.

yum update -y --best --allowerasing

위의 오류 메시지는 설치하려는 패키지가 다른 충돌하는 패키지와 충돌하는 것을 나타냅니다. 이 문제를 해결하기 위해 몇 가지 방법을 시도해볼 수 있습니다.

728x90

--allowerasing 옵션 추가

패키지 충돌을 해결하기 위해 설치 명령어에 '--allowerasing' 옵션을 추가해 보세요. 이 옵션은 충돌하는 패키지를 대체하기 위해 기존 패키지를 제거할 수 있도록 허용합니다. 예를 들어, 다음과 같이 명령어를 실행해 보세요.

yum install perl-ExtUtils-MakeMaker --allowerasing

--skip-broken 옵션 추가

설치가 불가능한 패키지를 건너뛰고 설치를 진행하려면 '--skip-broken' 옵션을 사용할 수도 있습니다. 다음과 같이 명령어를 실행해 보세요.

yum install perl-ExtUtils-MakeMaker --skip-broken

--nobest 옵션 추가

설치 가능한 패키지 중 가장 적합한 후보가 아닌 다른 후보들도 고려하여 설치하려면 '--nobest' 옵션을 사용할 수 있습니다. 예를 들어, 다음과 같이 명령어를 실행해 보세요.

yum install perl-ExtUtils-MakeMaker --nobest

 

이러한 옵션들을 시도해 보면 패키지 충돌 문제를 해결할 수 있을 것입니다. 그러나 이러한 옵션들은 패키지 관리 시스템의 동작을 변경할 수 있으므로 신중하게 사용해야 합니다. 또한, 다른 패키지의 의존성 문제를 야기할 수 있으므로 주의가 필요합니다.

 

728x90