RPM에서 사양 파일 편집

RPM에서 사양 파일 편집

RPM을 사용하여 다른 컴퓨터에 설치하려고 하면 항상 실패하는 사양 파일을 편집하려고 합니다. CentOS를 사용하고 있습니다. 이것은 잘못된 것입니다.

error: Failed dependencies:
perl(ActsUtil) is needed by my_program
perl(ParseBishop) is needed by my_program

두 파일 모두 RPM의 종속성입니다. 문제는 이 두 파일이 실제로 RPM 패키지에 제공된다는 점이다. 두 파일 모두 .pm 파일이며 /opt/mysoftware/bin. rpm - ivh --nodeps mysoftware하지만 나는 이 방법을 사용하는 것을 좋아하지 않는다. 그래서 스펙 파일을 복구해 보았습니다. 다음은 내가 시도한 일부 코드입니다.

첫 시도

Summary:....
Name:..
Version:..
....
....
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

두 번째 시도

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop, ActsUtil
...
...
%install
...
...
%changelog

세 번째 시도

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop.pm, ActsUtil.pm
...
...
%install
...
...
%changelog

네 번째 시도

Summary:....
Name:..
Version:..
....
....
Provides: /opt/mysoftware/bin/ParseBishop, /opt/mysoftware/bin/ActsUtil
...
...
%install
...
...
%changelog

"provide" 명령을 잘못 실행했나요? 아니면 이미 문제를 잘못 해결하고 있는 걸까요?

답변1

해결책을 찾았습니다. 문제는 내 제안이 잘못된 지역에 있다는 것입니다. 코드 상단에 있어야 합니다.

Summary:....
Name:..
Version:..
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

이것을 확인하기 위해. 저는 rpm -qp --provides mysoftware.rpm내장폴더에 넣어서 사용했어요. 내 패키지에 제공된 내용이 표시됩니다. 모든 도움에 감사드립니다.

답변2

rpm -i --nodeps my_program.rpm

모든 종속성 문제는 건너뜁니다.

답변3

사전 요청?

목록을 작성해야 하는지 궁금합니다 PreReqs.

Prereq는 PreReq가 포함된 패키지보다 먼저 설치된다는 점에서만 require와 다릅니다. PreReq는 패키지 주문에만 사용됩니다. 그렇지 않은 경우 PreReq는 Requires: 종속성과 정확히 동일합니다.

원천:http://rpm5.org/docs/api/dependent.html

PreReq: perl(ActsUtil), perl(ParseBishop)

필요

Requires이 RPM 설치에 이러한 Perl 모듈이 실제로 필요한 경우 온라인 상태여야 합니까 Provides?

Requires: perl(ParseBishop), perl(ActsUtil)

파일만?

설치 중에 제공한 .pm 파일인 경우 이러한 파일은 RPM 설치 및 매니페스트를 제외하고 어디에도 나열할 필요가 없습니다.

이에 의존하는 다른 RPM에는 이 RPM만 필요합니다.

관련 정보