소스 패키지가 설치되었음을 yum에 알리는 방법은 무엇입니까?

소스 패키지가 설치되었음을 yum에 알리는 방법은 무엇입니까?

yum 패키지를 제거하고 소스에서 동일한 패키지의 이후 버전을 설치했습니다. 하지만 Yum은 그것을 보지 못했습니다. yum 패키지를 설치하려고 할 때마다 이전 yum 패키지를 설치하려고 시도하지만 내가 설치한 소스 패키지가 표시되지 않습니다.

yum이 소스 패키지를 볼 수 있게 하는 방법이 있나요? 소스에서 rpm을 생성하는 방법을 아직 모른다는 점을 명심하세요.

답변1

불행히도 (다행히도?) rpm은 deb와 동등한 기능이 없습니다.equivs-build, "로컬에 설치된 패키지와 해당 종속성에 대해 dpkg에 알리는 데 사용할 수 있는 데비안 패키지를 생성하는 프로그램입니다."

빈 rpm을 모아서 설치하여 rpm에 패키지가 설치되었음을 알리는 것은 쉽습니다(그러나 시스템에 추가된 파일을 설치하도록 소스에 알리지는 않습니다).

첫 번째는불소 PM:

$ fpm -s empty -t rpm -n foo -v 1.2.3 --iteration noop

나중에 이 경로를 사용하려는 경우 fpm은 rpm 구축 프로세스를 단순화할 수 있습니다.

두 번째는RPM 보풀:

$ python
>>> import rpmfluff
>>> foo = rpmfluff.SimpleRpmBuild("foo", "0.1", "1")
>>> foo.make()

포함 파일의 실제 rpm을 만들기 위한 또 다른 간단한 옵션(예: fpm)은 다음과 같습니다.설치 확인. (지금도 작동하는지 모르겠네요.)

./configure; 프로그램을 만든 후 CheckInstall은 make install(또는 실행하도록 지시한 모든 항목)을 실행하고 이 설치로 수정된 모든 파일을 추적합니다... make install이 완료되면 CheckInstall은 Slackware, RPM 또는 Debian 호환성을 생성합니다. 필요에 따라 Slackware의 installpkg, "rpm -i" 또는 Debian의 "dpkg -i"를 사용하여 패키지하고 설치합니다.

답변2

답변을 자세히 설명하겠습니다.

yum기본적으로 원격 저장소에서 쿼리 및 설치할 수 있고 패키지 및 해당 종속성을 올바른 순서로 수동으로 설치 rpm하지 않고도 종속성을 쿼리 및 해결할 수 있다는 점에서 프런트엔드입니다 . rpm다른 것들도 있지만 이것이 가장 중요합니다.

따라서 디렉토리 에 있는 데이터베이스 및 관련 파일을 yum사용하십시오 . 이 데이터베이스는 패키지가 설치, 제거, 제거될 때 업데이트됩니다. 소프트웨어가 소스 코드에서 컴파일되거나 바이너리, 라이브러리, 헤더 등을 생성 하는 스크립트를 통해 설치 되거나 설치되는같은 다른 유틸리티를 사용하여과데이터베이스rpm/var/lib/rpmsnappipcpangemyumrpm

이것이 yum소스에서 컴파일한 소프트웨어를 볼 수 없는 이유입니다.

관련 정보