ansible - unarchive - 找不到输入文件

ansible - unarchive - input file not found

我在 Ansible (1.9.2) 尝试解压文件时遇到此错误。

19:06:38 TASK: [jmeter | unpack jmeter] ************************************************ 
19:06:38 fatal: [jmeter01.veryfast.server.jenkins] => input file not found at /tmp/apache-jmeter-2.13.tgz or /tmp/apache-jmeter-2.13.tgz
19:06:38 
19:06:38 FATAL: all hosts have already failed -- aborting
19:06:38 

我检查了 target 服务器,/tmp/apache-jmeter-2.13.tgz 文件存在并且它具有有效的权限(为了测试我也给了 777,尽管不是 reqd 但仍然得到了以上错误消息)。

我还检查了这个文件的 md5sum(将它与 apache jmeter 站点上的内容进行了比较)——它匹配!

# md5sum apache-jmeter-2.13.tgz|grep 53dc44a6379b7b4a57976936f3a65e03
53dc44a6379b7b4a57976936f3a65e03  apache-jmeter-2.13.tgz

当我在此文件上使用 tar -xvzf 时,tar 能够 show/extract 它是 .tgz 文件中的内容。

我可能遗漏了什么?在这一点上,我想知道 Ansible 中的 unarchive method/module 一定有一些错误。

我的最后一招(如果我不能在 Ansible 中取消存档工作)是使用 Command: "tar -xzvf /tmp/....." 但我不想这样做那是我的第一选择。

Unarchive 的默认行为是在本地系统上查找文件,将其复制到远程系统,然后解压缩。我怀疑如果您遇到找不到文件的错误,那么您需要在任务中指定 copy=no