Linux系统安装和配置Ansible 自动化部署初探

星宇姑娘_1535

星宇姑娘_1535

2026-04-08

1045人浏览

原创

ansible安装后command not found主因是~/.local/bin未加入path;ssh不可达需手动配免密;inventory解析失败多因格式错误;become必须置于play层级而非task内。

linux系统安装和配置ansible 自动化部署初探

Ansible 安装后 ansible --version 报错“command not found”

根本原因通常是安装路径没进 $PATH,尤其用 pip install ansible 时,Python 用户级安装默认放在 ~/.local/bin/,而该目录常不在系统 PATH 中。

验证当前 PATH 是否包含该路径:
echo $PATH | grep -o "$HOME/.local/bin"

  • 如果没输出,执行 export PATH="$HOME/.local/bin:$PATH" 并写入 ~/.bashrc 或 ~/.zshrc
  • Ubuntu/Debian 系统建议优先用 apt:运行 sudo apt update && sudo apt install ansible,避免路径问题
  • CentOS/RHEL 8+ 推荐启用 EPEL 后安装:sudo dnf install epel-release && sudo dnf install ansible-core(注意:RHEL 9+ 默认只提供 ansible-core,不含 ansible 元包)

执行 ansible all -m ping 提示 “UNREACHABLE!” 或 “Permission denied”

这是 SSH 连通性问题,不是 Ansible 配置错误。Ansible 本身不管理密钥分发,它依赖已配置好的 SSH 访问能力。

元象XChat
元象XChat

元象XChat是一款AI大模型工具,元象XVERSE大模型驱动的AI聊天助手。

下载
  • 确保目标主机已开启 SSH 服务:systemctl is-active sshd(Ubuntu/Debian 是 ssh)
  • 手动测试连接:ssh user@host;若需密码,Ansible 默认不支持交互式输入,必须提前配好免密登录
  • 生成并分发密钥:ssh-keygen -t ed25519 → ssh-copy-id user@host(注意:目标用户需有 shell,不能是 /usr/sbin/nologin)
  • 检查 /etc/ansible/ansible.cfg 中是否禁用了 SSH 密钥验证:host_key_checking = False 可跳过指纹确认,但仅限可信网络

ansible-inventory --list 输出空或报错 “Unable to parse …”

Ansible 默认读取 /etc/ansible/hosts,但该文件格式敏感——哪怕多一个空格、少一个冒号,解析器都会静默失败或报错。

  • 最简可用 INI 格式示例:
    [webservers]<br>web1.example.com<br>web2.example.com<br><br>[dbservers]<br>db1.example.com
  • 若用 YAML 格式(如 inventory.yml),必须以 all: 开头,且缩进严格为 2 空格,不可用 Tab
  • 检查文件权限:ansible 用户需有读取权限;若 inventory 在非标准路径,必须用 -i /path/to/inventory 显式指定
  • 常见陷阱:文件名含 .ini 后缀但内容是 YAML,或反之;Ansible 不按扩展名判断格式,而是按内容特征自动识别

Playbook 执行时报 “ERROR! 'become' is not a valid attribute”

这是语法层级错误,说明你把 become: true 写在了 play 之外,比如直接放在 tasks 列表第一行,或嵌套在某个模块参数里。

  • become 是 play 级关键字,只能出现在 - hosts: 同级,例如:
    - hosts: webservers<br>  become: true<br>  tasks:<br>    - name: Install nginx<br>      apt:<br>        name: nginx<br>        state: present
  • 若只想对某 task 提权,改用 become: true 放在 task 内部(Ansible 2.7+ 支持)
  • 注意 become_method 默认是 sudo,目标主机必须预装 sudo 且对应用户有 NOPASSWD 权限,否则卡住无提示

Ansible 的“零配置”是假象——它不管理 SSH、不初始化用户、不校验目标环境完整性。所有看似自动的行为,背后都依赖你提前铺好的 Linux 基础设施。最容易被忽略的,是那个连不上就全盘失效的 SSH 连接层。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux系统

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

2023.10.09

2790

5

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

2024.12.20

6403

6

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

2024.12.23

7982

11

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

2025.07.23

3967

16

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

949

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2700

5

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3930

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3373

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2513

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux man-pages 项目
Linux man-pages 项目

共0课时 | 0人学习

Linux系统运维及项目正式上线
Linux系统运维及项目正式上线

共14课时 | 2.8万人学习

Linux负载均衡视频教程
Linux负载均衡视频教程

共7课时 | 1.9万人学习