"changed": false, "cmd": "dnf install -y python2-dnf", "msg": "[Errno 2] 没有那个文件或目录", "rc": 2
时间: 2023-09-20 14:09:05 浏览: 108
根据提供的引用信息,执行命令"dnf install -y python2-dnf"时出现了以下错误信息:
"{"changed": false, "cmd": "dnf install -y python2-dnf", "msg": "Error: Unable to find a match: python2-dnf", "rc": 1, "stderr": "Error: Unable to find a match: python2-dnf\n", "stderr_lines": ["Error: Unable to find a match: python2-dnf"], "stdout": "Last metadata expiration check: 0:39:16 ago on Thu 07 Jul 2022 08:56:45 AM CST.\nNo match for argument: python2-dnf\n", "stdout_lines": ["Last metadata expiration check: 0:39:16 ago on Thu 07 Jul 2022 08:56:45 AM CST.", "No match for argument: python2-dnf"]}"
根据引用提供的方法一,可以在playbook中指定局部变量来解决该问题。具体操作如下:
- 在playbook中的任务中添加一个vars部分。
- 在vars部分中定义ansible_python_interpreter变量,并将其设置为/usr/bin/python3。
- 在when条件语句中添加ansible_pkg_mgr in ["yum","dnf"],以确保该变量仅在使用yum或dnf包管理器时生效。
此外,根据引用提供的信息,如果在ansible中直接执行命令时出现错误“FAILED! => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, }”时,这是因为未找到指定的文件或目录。
因此,根据提供的错误信息,可以得出以下结论:
- 对于错误1,"changed"为false表示任务没有做出任何更改,"cmd"为"dnf install -y python2-dnf"表示执行的命令,"msg"为"Error: Unable to find a match: python2-dnf"表示错误消息,"rc"为1表示返回代码为1,指示命令执行失败。
- 对于错误2,"changed"为false表示任务没有做出任何更改,"cmd"为"dnf install -y python2-dnf"表示执行的命令,"msg"为"[Errno 2] 没有那个文件或目录"表示错误消息,"rc"为2表示返回代码为2,指示命令执行失败。
因此,您可以尝试按照引用中提供的方法一来解决错误1,并检查您是否提供的文件或目录存在来解决错误2。
阅读全文