Yum

yum lockfile 被另一個使用者持有

  • June 4, 2019

Amazon Linux 2實例由 Ansible Playbook 操作,該手冊一個接一個地執行多個yum任務。

需要對以下語法進行哪些特​​定更改才能使連續yum任務執行而不會因程序衝突而停止?

目前,yum下面的第二個任務失敗了,因為 Ansible 不知道如何處理聽到前面的yum任務還沒有放開yum 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鎖被釋放。但是應該使用什麼語法呢?

我很確定你在使用 Ansible 2.8 時遇到了這個問題,它現在想在執行 YUM 包安裝時崩潰。解決此問題的簡單方法是將lock_timeoutvar 設置為 100 +,因為預設設置為 0。

- 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

引用自:https://unix.stackexchange.com/questions/522246