2012-06-20 2 views
0

소프트웨어 Y에 따라 패키지 X가 있습니다. Y는 종종 사용자가 수동으로 컴파일하고 설치하지만 항상 그런 것은 아닙니다.YUM/RPM - RPM과 함께 설치되지 않은 요구 사항을 지정하는 방법

사양 파일에 "requires : Y"와 같은 요구 사항을 넣으면 패키지 Y가 YUM에 의해 다운로드되어 설치됩니다. Y가 사용자에 의해 설치 되었다면, 그것은 단순히 ok가 아닌 덮어 쓰기됩니다. 내가 요구 사항을 넣지 않으면

는 Y가없는 사람은 X.를 실행하는 데 필요한 소프트웨어 누락 끝날 Y가의 존재를 확인하여 설치되어 있는지 알 수있는 방법이 있습니다

특정 장소의 바이너리 또는 환경 변수를 검사하여

이 상황을 어떻게 처리합니까?

+1

패키지 관리자를 사용하지 않고 패키지 관리 도구로 관리되는 파일 시스템 트리에 설치하는 것이 문제입니다. 사용자가 그렇게해도 패키지 관리자가 잘못 설치 한 소프트웨어를 덮어 쓰지 않아도 될 이유가 없습니다. –

답변

1

RPM .spec 파일의 %pre 섹션을 설정하여 이진 파일의 존재 여부를 확인할 수 있습니다.

%pre 
    # Check if binary file exists . If not, exit with an error. 
    if [ -f /path/to/binary/file ]; then 
     echo "Info: Pre-requisite exists: /path/to/binary/file" 
    else 
     echo "Error: Pre-requisite <name> not installed. Exiting..." 
     exit 1 
    fi 
관련 문제