src.rpm이 소스 코드를 원하는 디렉토리에 추출하도록 하려면 어떻게 해야 합니까?

src.rpm이 소스 코드를 원하는 디렉토리에 추출하도록 하려면 어떻게 해야 합니까?

/asdf와 같은 사용자 정의 디렉터리에 소스 코드의 압축을 푸는 rpm을 만들려고 합니다. 실행하면 항상 "%sourcedir /usr/src/redhat/SOURCES를 생성할 수 없습니다"라는 오류가 발생합니다. "rpm -i xyz.src" 명령을 실행할 때 소스 코드(src.rpm의 .tar.gz 파일만)의 압축을 풀 수 있는 항목을 .spec 파일에 넣을 수 있습니까? ?

답변1

사용rpm2cpiorpm의 압축을 푼다. 또는 사용외계인rpm을 다른 패키지(deb, tar...)로 변환

rpm2cio 사용을 위한 정확한 구문

rpm2cpio ./package_name-test-1.1-1.x86_64.rpm | cpio -idmv

답변2

예, -r or --root optionrpm을 사용하여 대체 루트 경로를 최상위 디렉터리로 지정할 수 있습니다.

rpm2cpio 명령을 사용하여 rpm에서 파일을 추출할 수도 있습니다. 남자 rpm2cpio.

답변3

해결책은 사양 파일에서 tar를 호출하고 추출하려는 경로를 지정하는 것만큼 간단했습니다.

관련 정보