TL;DR 기본 패키지와 추가 모듈이 포함된 전체 패키지라는 두 가지 구성으로 애플리케이션을 게시하고 싶습니다. 어떻게 해야 하나요?
내 CentOS 애플리케이션에는 두 개의 패키지가 있습니다. app.rpm
하나는 경량 구성이고 app_full.rpm
다른 하나는 추가 모듈이 포함된 완전한 구성입니다. 새 패키지의 버전이 설치된 패키지의 버전과 같거나 최신인 경우 설치 시 서로 교체되도록 하고 싶습니다. Obsoletes:
사진에 나온대로 사용 해봤는데여기. 문제는 내 응용 프로그램이 /opt/app/
두 개의 패키지에 있다는 것입니다. 따라서 Yum은 새 패키지를 설치하고 이전 파일을 덮어쓴 다음 /opt/app/
(괜찮습니다) 이전 패키지(및 /opt/app/
.
저는 실제로 설치하기 전에 많은 작업(시스템 요구 사항에 따라 저장소 추가 또는 .rpm/.deb 다운로드)을 수행하는 이 응용 프로그램을 설치하기 위해 스크립트를 사용합니다. 따라서 여기서 볼 수 있는 해결책은 이 스크립트를 사용하여 다른 패키지가 설치되어 있는지 확인하고, 설치된 패키지와 새 패키지의 버전을 확인한 다음 yum uninstall
및 를 실행하는 것입니다 yum install
. 그러나 이것은 더러운 해결 방법처럼 보입니다.
내가 생각할 수 있는 또 다른 것은 app_additions.rpm
애드온 모듈 app_full.rpm
을 app.rpm
만들고 app_additions.rpm
. 나는 아직 그것을 시도하지 않았습니다. 이것이 작동할까요? app_full
패키지를 설치했다가 제거하면 app
어떻게 됩니까 ? "앱"을 통해 이러한 패키지를 제거할 수 있는 방법이 있습니까?app_additions
app_full
그렇다면 이를 수행하는 올바른 방법은 무엇입니까?
.deb 패키지에 대해서도 알고 싶습니다.