RedHat 8에서 RPM을 버전 4.16으로 업그레이드하고 싶습니다. 현재 내가 설치한 것은 4.14.3이다.
업그레이드하려고 하면 "할 일이 없습니다"라는 메시지가 나타납니다.
$ sudo yum -y 업그레이드 rpm 구독 관리 저장소를 업데이트합니다. 마지막 메타데이터 만료 확인: 2022년 10월 12일 수요일 오전 8시 51분 51초 PDT 0시 7분 41초 전. 종속성이 해결되었습니다. 할 것이 없다. 충분히!
RPM URL을 지정할 수 있을 거라 생각했지만이 답변, RHEL RPM 저장소는 공개되지 않습니다.
RedHat 8에서 RPM 4.16으로 업그레이드하는 방법은 무엇입니까?
답변1
RHEL과 같은 안정적인 배포판은 일반적으로 최신 버전의 소프트웨어를 제공하지 않으며 백포트 버그 수정 및 보안 문제 수정만 제공합니다. RPM 4.14가 RHEL 8 리포지토리에서 사용 가능한 최신 버전인 경우(CentOS 8 Stream 리포지토리에서 사용 가능한 버전이므로 RHEL 8에서도 사용 가능한 최신 버전일 가능성이 높음), 해당 RPM 버전이 사용 중입니다.
4.16은 RHEL 9(또한 CentOS 9 Stream 기반)에서 사용할 수 있으므로 어떤 이유로 4.16이 필요한 경우 RHEL 9로 업그레이드하는 것이 좋습니다.
(소스에서 최신 버전의 RPM을 수동으로 설치할 수 있지만 권장하지는 않습니다. 하위 수준 시스템 도구 및 라이브러리를 수동으로 업그레이드하면 시스템이 손상되기 쉽습니다.)
답변2
그것은아니요RHEL 소개.
이 거래에 관한 것입니다최대리눅스 배포판. 그것들은 함께 엮인 느슨한 구성요소들의 집합이 아닙니다.
실제로는 복잡한 종속성을 가진 매우 엄격한 패키지 세트이므로 릴리스 A 버전 N의 경우 구성 요소의 XY 및 Z 버전만 가질 수 있습니다. 그렇지 않으면 종속성이 파괴되므로 시스템이 작동을 중지합니다.
Microsoft는 오래 전에 Windows Vista를 통해 이 문제를 해결했습니다.WinSxS, 불행히도 다음과 같은 이유로 Linux에서는 작동하지 않습니다.
- 유지 관리 비용이 매우 비쌉니다.
- 빌드할 때 종속성에 주의해야 하며 Linux 배포판에는
/usr/include
디렉터리가 하나만 있습니다. - Microsoft는 ntoskrnl 및 user32와 같은 API/ABI 핵심 구성 요소에 대해 100% 안정성을 갖고 있는 반면 Linux는 그렇지 않습니다. 거의 모든 버전에 새로운 API가 Glibc에 추가되어 모든 라이브러리를 조정하는 것이 거의 불가능한 작업이 되었습니다.
RPM은 마음대로 교체/업데이트할 수 없는 핵심 구성 요소입니다. 소스에서 새 버전을 컴파일하여 예를 들어 /usr/local
또는 에 설치할 수 있지만 /opt/rpm
기존 RPM 데이터베이스와 함께 사용하면 기존 RPM 패키지 관리자에서 RPM 데이터베이스가 손상될 수 있습니다.