如何在Linux中安装和配置Ansible Linux实现自动化运维的方法

梦枫吖_7924

梦枫吖_7924

2026-06-04

989人浏览

原创

ansible应通过系统包管理器安装:rhel/centos 7用yum install ansible,rhel 8+/rocky/almalinux用dnf install ansible-core,ubuntu/debian用apt install ansible,避免pip安装引发python环境冲突。

如何在linux中安装和配置ansible linux实现自动化运维的方法

直接用系统包管理器装,别 pip install ansible。绝大多数发行版的官方仓库已提供稳定、兼容的 ansible-core 或 ansible 包;pip 安装极易引发 Python 环境冲突,尤其在 RHEL 8+/CentOS Stream/Ubuntu 22.04+ 上,常见报错如 ImportError: cannot import name 'soft_unicode',根源是 pip 装的 Ansible 与系统自带的 Jinja2 版本不匹配。

不同发行版该执行哪条安装命令

命令差异主要取决于仓库结构和包名拆分(Ansible 2.10+ 后 ansible-core 是最小运行时,ansible 包含常用集合):

  • Ubuntu/Debian:运行 sudo apt update && sudo apt install ansible;若需最新版且接受风险,可加 PPA:sudo add-apt-repository --yes --update ppa:ansible/ansible && sudo apt install ansible
  • RHEL/CentOS/Rocky/AlmaLinux 8+:先启用 EPEL:sudo dnf install epel-release,再装 sudo dnf install ansible-core(注意是 ansible-core,不是旧版 ansible)
  • RHEL/CentOS 7:启用 EPEL 后执行 sudo yum install ansible
  • Fedora:直接 sudo dnf install ansible

装完立刻运行 ansible --version,确认输出中包含 configured module search path —— 若为空,说明模块路径未正确初始化,后续会报 MODULE FAILURE。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

inventory 文件写错会导致所有命令失败

Ansible 不是装完就能跑通的工具,它默认依赖 SSH 连通性和合法 inventory。最常见错误是执行 ansible all -m ping 报 UNREACHABLE! => {"msg": "Failed to connect to the host via ssh"},其实跟 Ansible 无关,纯属环境没配好:

  • 确保目标主机 sshd 正在运行,且防火墙放行 22 端口:sudo ufw allow 22(Ubuntu)或 sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload(RHEL系)
  • 本地生成密钥对:ssh-keygen -t ed25519 -f ~/.ssh/id_ansible -N "",再用 ssh-copy-id -i ~/.ssh/id_ansible.pub user@host 推送公钥
  • inventory 文件必须有合法格式,例如当前目录下的 inventory 文件内容应为:
    [web]<br>192.168.1.10<br>192.168.1.11
    ——不能漏方括号,IP 不能带空格或注释符号
  • 测试时显式指定 inventory:ansible all -i ./inventory -m ping,避免误读系统默认路径 /etc/ansible/hosts

ansible-core 和 ansible 包的区别决定你能用什么模块

从 Ansible 2.10 开始,项目已拆分:ansible-core 只含引擎和基础模块(如 ping、copy、shell),而 community.mysql.mysql_user、amazon.aws.ec2_instance 等高级功能全在第三方 collection 里:

  • 检查已装集合:ansible-galaxy collection list;若输出为空或缺失关键集合,说明只有 ansible-core
  • 装一个常用集合:ansible-galaxy collection install community.mysql(需网络连通)
  • 某些发行版(如 RHEL 8+)默认只装 ansible-core,即使你敲 dnf install ansible 也只会拉取 ansible-core —— 这不是 bug,是设计如此
  • 若要用 ansible.builtin.apt 但目标是 RHEL 主机,Playbook 会静默跳过(因模块不适用),务必用 when: ansible_os_family == "Debian" 做条件控制

真正容易被忽略的是:inventory 中主机定义里的连接参数(如 ansible_user、ansible_ssh_private_key_file)若写错路径或权限不对(比如私钥文件 mode 不是 600),ansible 会静默 fallback 到密码认证,然后失败;而 ControlPersist 在 SSH 配置中启用时,可能导致 ad-hoc 命令复用旧连接并卡住 —— 生产环境建议在 ~/.ssh/config 中显式禁用:

Host *<br>    ControlPersist no

相关专题

更多
磁盘配额是什么
磁盘配额是什么

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

2023.06.21

3870

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3313

10

linux find
linux find

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

2023.06.30

2453

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5910

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5562

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3273

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2785

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2999

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习