2017-10-27 8 views
0

중앙 서버에 저장된 tarball의 RPM을 설치하려고합니다.의존성이있는 여러 RPM을 설치하려면 어떻게해야합니까?

# yum install *rpm 

하고 모든 설치는 얌 의존성이 다른 RPM이 포함되어 있음을 작동 : 난 그냥 사용이 RPM을은 서로 의존성을 가지고 있지만 내가 수동으로 설치할 때 문제가 아니다.

- name: Unpack installation bundle 
    unarchive: 
    src: /media/shared/archive/{{ sw }}-{{ os }}.tar.gz 
    dest: $HOME 

이 복사 원격 서버에 타르하고 압축을 풉니 다 : Ansible를 사용

나는 다음과 같은 플레이를 사용하여 타르볼을 전송합니다. 이 작동합니다.

RPM을 설치하려고 할 때 문제가 발생합니다.

- name: Finding RPM files 
    find: 
    paths: "$HOME/{{ sw }}" 
    patterns: "*.rpm" 
    register: rpm_result 

- name: Install RPM 
    yum: 
    name: "{{ item.path }}" 
    state: present 
    with_items: "{{ rpm_result.files }}" 
    become: yes 
    become_method: sudo 

rpm_result.files 제대로 RPM을 모두 채워집니다하지만, 냠 모듈이 문서가 주장에도 불구하고 개별적으로 설치하는 것 때문에 그들 중 일부가 설치되지 않은 : 나는 현재 다음과 같은 연극을 나는 시도하고 한 번에 RPM을 하나를 설치하는 경우

"Error: Package: snmpagent-1.2.0.0-1.el6.x86_64 (/snmpagent-1.2.0.0-1.el6.x86_64) 
     Requires: utils >= 3.1.0.0\n", "rc": 1, 

(Output shortened and sliced up to make it easier to read) 

이 내가 얻을 같은 오류입니다 : 그들을 함께 나는 작전을 실행하면 내가없는 의존성에 대한 불만을 얻을 을 (http://docs.ansible.com/ansible/latest/yum_module.html에서 "참고 사항"참조) 않습니다.

RPM을 동시에 설치하도록 설득하려면 어떻게합니까?

나는 가능성있는 플레이 북 v2.4.0.0을 실행 중이므로 비교적 최신 버전입니다.

+0

언제이 문제가 해결되는지 알고 싶습니다. (덧글을 추가하지 않고이 질문을 "따르는"방법은 확실하지 않습니다.) –

답변

0

해결 방법과 해결책을 알고 있습니다.

해결 방법은 command 또는 shell 모듈 호출에서 yum install을 실행하는 것입니다.

해결책은 RPM 파일을 저장소에로드하고이를 패키지 소스로 구성하는 것입니다. 일반적으로 종속성 분석이 더 쉬워집니다.

+0

감사합니다. @moritz. 나는 왜 yum 모듈이 문서들을 연결하는 것과 같이 연쇄 화하지 않는지 모르지만, 내가 그것에 관해 게시 된 버그를 얻을 수 있는지 알 것이다. 그러나 그 동안'shell' 옵션을 사용할 것이다. – Martin