내 libevent 설치 버전은 2.0.12입니다.
다음 명령을 통해 새 버전의 libevent(v2.1.12)를 설치했는데 모든 것이 잘 진행되었지만 yum info에서는 libevent 버전 2.0.12가 다시 표시되었습니다.
Yum에게 무슨 일이 일어났나요? yum 데이터베이스를 어떻게 업데이트할 수 있나요?
$ wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
$ tar -zxf libevent-*.tar.gz
$ cd libevent-*/
$ ./configure --prefix=/usr/local --enable-shared
$ sudo make && make install
답변1
yum
RPM 데이터베이스에 있는 내용만 있는 그대로 살펴봅니다 yum
. rpm
소스에서 패키지를 컴파일하고 사용하거나 yum
설치 하지 않으면 rpm
RPM 데이터베이스에 없으며 yum
아무런 조치도 취하지 않으며 libevent
RPM 데이터베이스에서만 고려됩니다. 콘텐츠. libevent
이미 최신 버전이므로 아무 yum
것도 하지 않고 아무 것도 하지 않습니다 rpm
.
정상적으로 실행되므로 데이터베이스에 대해 아무 작업도 수행할 필요가 없습니다. 소스에서 소프트웨어를 컴파일하는 이유는 시스템을 파괴하는 악명 높은 "종속성 지옥"으로 이어질 수 있는 충돌을 일으키지 않고 환경에 추가할 수 있도록 저장소에서 사용할 수 없는 버전을 얻기 위한 것입니다.
답변2
배포 버전에 패키지를 설치하여 설치된 항목의 RPM 데이터베이스가 손상되었습니다. 예를 들어 묻는다면 rpm verify libevent
피비린내 나는 살인을 비명을지를 것입니다.
반드시 새 버전(일반적으로 배포판, 더 중요하게는 "엔터프라이즈" 장기 버전)을 설치해야 하는 경우 이전 기본 버전을 유지하고 현지화, 버그 수정, 개선 등 패치를 추가하세요. 최첨단 업스트림의 백포트 -- - 맞춤형 구성 및 문서를 추가합니다.아니요동일한 수의 업스트림 버전(때로는 멀리 떨어져 있음)을 사용하여 자신만의 RPM 패키지를 만드세요.
src.rpm
릴리스 아카이브에서 최신 정보를 얻으십시오. CentOS의 경우 최신 버전의 배포판이든 실험적 버전rawhide
(배포판의 다음 버전이 되기 위해 준비 중인)이든 밀접하게 관련된 Fedora 패키지를 볼 수도 있습니다.- 짐 등에서 꺼내다. 예약하다수동보유 중(경고, 약간 구식임) 또는 보편적가이드가까운.
- 새 버전을 포함하도록 파일을 변경하는
spec
것은 간단하지만 원래 버전과 함께 제공된 패치 또는 구성 파일이 계속 적용되는지/필요한지 확인해야 합니다. - 자신만의 패키지를 만들고 오류/경고를 수정하세요. 만족스러우면 설치해 보세요. 필요하다고 생각되는 테스트를 실행하세요.
이렇게 하면 RPM(및 dnf 등)이 새 패키지를 이해하고 이를 시스템에 깔끔하게 통합하는 데 큰 도움이 됩니다. 그러나 당신이 얻는 것은 배포판의 수정된 버전이며 수정되지 않은 시스템 사용자에게 도움을 요청하는 데 한 걸음 더 가까워졌습니다.
/usr/local
또 다른 옵션은 심각한 손상 위험을 방지하기 위해 소프트웨어의 비공식 버전(예: )을 설치하는 것입니다 .