yum 鎖定檔案由另一個使用者持有

yum 鎖定檔案由另一個使用者持有

Amazon Linux 2實例由 Ansible Playbook 操作, Playbookyum依序執行多個任務。

為了使後續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鎖被釋放。但是應該使用什麼語法呢?

答案1

我很確定您在使用 Ansible 2.8 時遇到了這個問題,現在它在執行 YUM 套件安裝時會崩潰。解決這個問題的簡單方法是將 var 設為lock_timeout100 +,因為預設為 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

相關內容