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_timeout为 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

相关内容