在使用apt模块安装Ubuntu14.x框上的Ansible时,我会遇到以下一系列错误。
在大多数其他Ubuntu14.x框上,它工作得很好。
有几个不管用的。
“任务”中的相关领域-主要内容是:
name: Install the required packages for keyczar
apt: name={{ keyczar_name }} state=installedvars main和debian yaml中的定义:
keyczar_name: python-keyczar在运行之前,锁文件/var/lib/dpkg/lock不存在。运行失败后,它确实存在。手动删除它与rm和重新运行没有任何作用。正在运行的等效CLI是apt-get install python-keyczar -y,如果手动运行,它可以运行。这让我感到担忧,因为这是我第一次看到包在Ansible下运行时被拒绝,但是手动安装时工作正常。没有任何意义。
具体错误是:
致命:qaevt5.channel-corp.com:失败!=> {"cache_update_time":0,"cache_updated":false,"changed":false," FAILED ":true,"msg":“/usr/bin/ap get -y -o \”dpkg:选项::=-force-confdef\“-o \”dpkg:选项::=-force-confold\“--模拟安装‘python-keyczar’-o: E:未能ge\ t lock /var/lib/dpkg/lock -打开(11:资源暂时不可用)\nE:无法锁定管理目录(/var/lib/dpkg/),是使用它的另一个\进程吗?"stderr":"E:未能获得锁/var/lib/dpkg/lock - open (11:资源暂时不可用)\nE:无法锁定admi\ n目录(/var/lib/dpkg/),是另一个使用它的进程吗?\n“,"stdout":"stdout_lines":[]}
fuser和lsof没有显示持有锁的其他进程。
在手动运行apt-get install python-keyczar -y和重新运行After之后,没问题。包裹"ok“。
上述锁定文件有其他相关文件后手动运行。
ls -l /var/cache/apt/archives/lock /var/lib/apt/lists/lock /var/lib/dpkg/lock
-rw-r----- 1 root root 0 Aug 5 2015 /var/cache/apt/archives/lock
-rw-r----- 1 root root 0 Mar 30 00:03 /var/lib/apt/lists/lock
-rw-r----- 1 root root 0 Mar 30 15:13 /var/lib/dpkg/lock我要在发生这种情况的六个箱子上做手动操作。其他几十个人没有这样的问题。当然,在这一点得到澄清之前,必须手动完成,这样才真正违背了目的。
发布于 2016-09-29 07:59:47
我也有同样的问题。如果您的ansible脚本编写得很好,并且可以确保没有进程锁定apt,那么在运行apt模块之前,您可以确保锁不存在。
您可以使用锁文件上的become: true state=absent文件模型来完成此操作。
这是一个可怕的工作,但我归咎于ubuntu :P我没有遇到这样的问题,Arch Linux。
https://askubuntu.com/questions/751911
复制相似问题