我写了一个剧本,下载tar文件
" msg ":"找不到\"/Users/harmeet/的处理程序。ansi ble/tmp/ansi ble-tmp-1549339698.75-251687957122076/config . tar 9 ixauq . gz \ "。确保安装了提取文件所需的命令。命令\"/usr/bin/tar\ "被检测为tar类型bsd。需要GNU tar。命令\"/usr/bin/unzip\ "无法处理归档文件。
行动手册代码
-name: Download the tar for sample config
unarchive:
src: http://someremoteurl/config.tar.gz
dest: /Users/{{ansible_user}}/.myfolder/
remote_src: yes
creates: /Users/{{ansible_user}}/.myfolder/config
如果在远程服务器上使用zip fie,例如 http://someremoteurl/config.zip 则此任务有效,但对于tar文件,它将失败。
我还安装了gnu tar,例如gtar
如果默认shell是zsh
,则应将以下内容放入~/.zshenv
:
export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"
您可以通过以下方式检查它是否正常工作:
ansible the-hostname -m command -a "which tar"
事实上,在macOS上,它寻找基于GNU的tar存档模块,而在mac上找不到。因此,如果您在ansible中使用mac的zip模块,它将工作,但为此,我们可能需要更改playbook文件
我通过以下步骤解决了这个问题
export PATH = "/usr/local/opt/GNU-tar/libexec/gnubin:$ PATH " export man PATH = "/usr/local/opt/GNU-tar/libexec/gnuman:$ MANPATH "
谢谢
我得到了错误,而解压缩zip文件使用unArchive模块在我的anable playbook……它工作正常,有时我得到下面的错误 失败了!= 我使用下面的脚本代码来执行取消存档 有什么需要纠正的吗,我浏览了可调整的文档.....我希望我在正确的代码上,但仍然得到错误...请任何建议
我正在尝试执行一个可操作的剧本,其中包含一个使用模块的任务。因为我是在OSX上这样做的,所以我需要它使用,而不是通常随OSX附带的,因为BSD焦油不是官方支持的。 我已经使用安装了,并将此包的文件夹置于变量中的其他路径之前。然而,我的playbook仍然在文件夹(原始)中查找,而不是新安装的。 我的问题是,< code>unarchive模块如何查找< code>tar二进制文件,我最好用什么方法
我正在远程服务器上运行大量模拟(通过ssh)。这些模拟的结果作为.tar存档存储在此远程服务器上的存档目录中。 我想做的是编写一个bash脚本,它通过ssh连接到远程服务器,并从每个服务器中提取所需的输出文件。tar存档到本地硬盘上的单独文件夹中。 这些文件夹应与文件来自的.tar文件同名(例如,假设模拟 1 的输出存储在存档 S1 中.tar远程服务器上的存档中,我希望 .tar将此存档中的所有
我已经创建了一个应用程序,它将从tar存档中提取单个文件。该应用程序正确读取*.tar,但是当我尝试提取文件时,该应用程序只是使用正确的文件名创建新文件...文件为空 (0kb)。所以。。。我可能只是创建新文件而不是提取... 在这一点上,我完全是个初学者...
问题内容: 我有一个包含要使用tar存档的文件列表的文件。叫它吧 它包含了: 有没有一种方法可以发出作为输入的TAR命令?就像是 这样就好像我发出以下命令一样: 问题答案: 是:
我有一个.tar文件,其中包含文件夹中的许多.gz文件。这些 gz 文件中的每一个都包含一个.txt文件。与此问题相关的其他堆栈溢出问题旨在提取文件。 我试图反复阅读每一个的内容。txt文件,因为。焦油很大。 首先我阅读了. tar文件的内容: 或在Unix中: 然后我尝试使用tarfile提取文件方法,但我得到一个错误:“模块'tarfile'没有属性'提取文件'”。此外,我甚至不确定这是正确的