yum 잠금 파일은 다른 사용자가 보유하고 있습니다.

yum 잠금 파일은 다른 사용자가 보유하고 있습니다.

Amazon Linux 2yum인스턴스는 여러 작업을 순차적으로 수행하는 Ansible 플레이북에 의해 운영됩니다 .

프로세스 충돌로 인해 중단되지 않고 후속 작업을 실행하려면 yum아래 구문에서 구체적으로 어떤 변경이 필요합니까 ?

현재 아래의 두 번째 작업은 Ansible이 아직 릴리스되지 않은 yum이전 작업을 어떻게 처리할지 모르기 때문에 실패합니다 . yumyum lockfile

아래 두 번째 작업을 호출할 때 기록된 현재 오류 메시지는 다음과 같습니다 yum.

TASK [remove any previous versions of specific stuff] ************************************************************************************************************************************
fatal: [10.1.0.232]: FAILED! => {"changed": false, "msg": "yum lockfile is held by another process"}

현재 두 개의 연속 yum작업이 다음과 같이 작성되어 있습니다.

 - name: Perform yum update of all packages
   yum:
     name: '*'
     state: latest

 - name: remove any previous versions of specific stuff
   yum:
     name: thing1, thing2, thing3, thing4, thing5, thing6
     state: absent

내 생각에 해결책은 Ansible이 첫 번째 작업의 yum잠금이 해제될 때까지 기다리도록 지시하는 것을 추가하는 것입니다. 그러면 어떤 구문을 사용해야 합니까?

답변1

Ansible 2.8에서 이 문제가 발생하고 있다고 확신합니다. 이제 YUM 패키지 설치를 실행할 때 충돌이 발생합니다. 이 문제를 해결하는 쉬운 방법은 lock_timeout기본값이 0이므로 var를 100+로 설정하는 것입니다.

- name: Install yum utils
  yum:
    name:
    - yum-utils
    - "@Development tools"
    lock_timeout: 180

불행하게도 이것의 문제는 YUM 패키지를 설치하는 Ansible 작업이 많을 때 각 작업에 이 var를 추가해야 한다는 것입니다. 나는 이것을 전역적으로 설정하는 방법을 찾고 있었지만 재미는 없었습니다. 도움이 되었기를 바랍니다!

링크: https://github.com/ansible/ansible/issues/57189 https://docs.ansible.com/ansible/latest/modules/yum_module.html

관련 정보