游乐游手机版
首页/系统平台/文章详情

Red Hat Enterprise Linux安装Ansible完整教程

时间:2026-08-15 06:30
简介在本实验中,你将学习如何在 Red Hat Enterprise Linux(RHEL)系统上安装 Ansible Core。Ansible 是一款广泛应用于 IT 自动化的强大工具,可帮助你高效完成系统管理与配置、应用部署,以及复杂运维流程的自动化编排。你将使用具备 sudo 权限的 dnf

简介

在本实验中,你将学习如何在 Red Hat Enterprise Linux(RHEL)系统上安装 Ansible Core。Ansible 是一款广泛应用于 IT 自动化的强大工具,可帮助你高效完成系统管理与配置、应用部署,以及复杂运维流程的自动化编排。

你将使用具备 sudo 权限的 dnf 软件包管理器安装 ansible-core 软件包。该软件包提供 Ansible 的核心引擎与常用命令行工具。安装完成后,你还将通过检查版本信息和执行基础命令来验证 Ansible 是否已正确安装并能够正常运行。

对于使用 Red Hat Enterprise Linux 的系统管理员、运维工程师以及 DevOps 工程师来说,掌握这项技能是进行 Linux 自动化运维的重要基础。

使用 dnf 安装 Ansible Core

在这一步中,你将通过 dnf 软件包管理器安装 ansible-core 软件包。Ansible Core 提供运行自动化任务所必需的核心组件,包括 ansible、ansible-playbook 以及其他关键命令行工具。

dnf(Dandified YUM)是 Red Hat Enterprise Linux 上管理软件包的标准工具。由于安装软件需要管理员权限,因此这里需要配合 sudo 命令执行。

运行以下命令以自动确认并安装 Ansible Core:
sudo dnf install ansible-core -y

-y 参数会自动对安装过程中的所有提示回答“yes”,从而实现非交互式安装。系统会下载并安装 ansible-core 及其相关 Python 依赖,例如用于模板处理的 Jinja2,以及用于 YAML 数据处理的 PyYAML。

执行后,你通常会看到类似下面的输出,用于显示软件包解析、依赖处理和安装进度:
Updating Subscription Management repositories.
Last metadata expiration check: ...
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
ansible-core noarch 2.16.x-x.el9 rhel-9-appstream xx M
Installing dependencies:
python3-jinja2 noarch x.x.x-x.el9 rhel-9-appstream xxx k
python3-yaml x86_64 x.x.x-x.el9 rhel-9-appstream xxx k
...

Transaction Summary
================================================================================
Install XX Packages

Complete!

验证 Ansible 安装

现在你已经完成了 Ansible Core 安装,接下来可以通过查看版本信息,并确认关键命令行工具是否可用,来验证安装是否成功。

首先,运行以下命令检查 Ansible 版本:
ansible --version

执行该命令后,终端会输出当前 Ansible 安装环境的关键信息,包括核心版本、Python 版本,以及相关组件所在路径。正常情况下,输出大致如下:
ansible [core 2.14.18]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/labex/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
ansible collection location = /home/labex/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.9.21 (main, Feb 10 2025, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-5)] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True

下面是每一行信息的含义:

  • ansible [core 2.14.18]: 显示当前已安装的 Ansible Core 版本
  • config file: 指向 Ansible 默认配置文件的位置
  • configured module search path: Ansible 查找自定义模块时使用的目录路径
  • ansible python module location: Ansible 核心 Python 代码的安装目录
  • ansible collection location: 存放 Ansible Collection(模块和插件集合)的目录
  • executable location: ansible 可执行文件的实际位置
  • python version: 当前 Ansible 使用的 Python 解释器版本
  • jinja version: Ansible 用于动态内容渲染的模板引擎版本
  • libyaml = True: 表示已启用更高性能的 YAML 解析支持

这些信息表明 Ansible 已成功安装,并且环境配置正常。接下来,再检查 ansible-playbook 命令是否可以使用:
ansible-playbook --version

你应该会看到与 ansible 类似的版本输出。ansible-playbook 是执行 Ansible Playbook 的核心工具,也是日常自动化运维中最常用的命令之一。

使用简单命令测试 Ansible

在这一步中,你将通过在本地系统上执行简单命令来测试 Ansible 安装是否可用。切换到项目目录后,使用预先配置好的清单文件运行一个 Ansible 即席(ad-hoc)命令。

进入项目目录并测试基础的 ping 功能。为了便于后续查看,同时让步骤验证器更稳定地确认结果,请将输出保存到文件中:
cd /home/labex/project
ansible localhost -m ping | tee ping-output.txt

需要注意的是,ping 模块并不会发送 ICMP 数据包;它的作用是验证 Ansible 是否能够连接目标主机并在目标上执行 Python 代码。成功响应通常如下所示:
localhost | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}

下面对输出进行简单说明:

  • localhost | SUCCESS: 表示命令已在 localhost 目标主机上成功执行
  • ansible_facts: 包含执行过程中探测到的系统信息
  • discovered_interpreter_python: Ansible 自动识别并使用的 Python 解释器路径
  • changed: false: 说明该操作没有修改系统状态(ping 属于只读测试)
  • ping: "pong": 表示 Ansible 连接和执行能力正常的标准返回结果

当看到“pong”响应时,就说明 Ansible 已能够正常工作,并且可以与目标系统顺利通信。

接下来,使用 setup 模块收集系统信息,并同样将输出保存到文件中:
ansible localhost -m setup -a "filter=ansible_distribution*" | tee setup-output.txt

这条命令会调用 setup 模块采集系统 facts,并通过过滤条件仅保留与发行版相关的信息。执行后,通常会输出一段详细内容,展示 Red Hat Enterprise Linux 系统的版本与发行信息,例如:
localhost | SUCCESS => {
"ansible_facts": {
"ansible_distribution": "RedHat",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/redhat-release",
"ansible_distribution_file_search_string": "Red Hat",
"ansible_distribution_file_variety": "RedHat",
"ansible_distribution_major_version": "9",
"ansible_distribution_release": "Plow",
"ansible_distribution_version": "9.6",
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false
}

理解这些系统事实输出有助于后续编写更智能的自动化逻辑:

  • ansible_distribution: Linux 发行版名称(RedHat)
  • ansible_distribution_file_parsed: 表示 Ansible 是否成功解析了发行版信息文件
  • ansible_distribution_file_path: 保存发行版信息的文件路径
  • ansible_distribution_file_search_string: 用于识别发行版的文本匹配内容
  • ansible_distribution_file_variety: 发行版所属系列(RedHat 系列)
  • ansible_distribution_major_version: 主版本号(9)
  • ansible_distribution_release: 发行版代号(Plow)
  • ansible_distribution_version: 完整版本号(9.6)
  • discovered_interpreter_python: Ansible 检测到的 Python 解释器路径

这说明 Ansible 已能够成功从目标主机采集系统信息,而这正是基于系统特征编写条件化自动化任务的重要前提。

探索可用的 Ansible 模块

Ansible 自带数百个内置模块,可用于完成多种自动化任务。安装完成后,了解这些可用模块有助于你快速上手 Ansible 自动化运维。

要查看可用模块列表,请运行以下命令,并将前几行结果保存到文件中:
ansible-doc -l | head -20 | tee module-list.txt

ansible-doc -l 命令会列出当前环境中所有可用模块,而 head -20 则仅显示前 20 行内容。通过这种方式,你可以快速了解 Ansible 提供的广泛功能。你会看到类似如下的输出:
ansible.builtin.add_host Add a host (and alternatively a grou...
ansible.builtin.apt Manages apt-packages
ansible.builtin.apt_key Add or remove an apt key
ansible.builtin.apt_repository Add and remove APT repositories
ansible.builtin.assemble Assemble configuration files from fr...
ansible.builtin.assert Asserts given expressions are true
ansible.builtin.async_status Obtain status of asynchronous task
ansible.builtin.blockinfile Insert/update/remove a text block su...
ansible.builtin.command Execute commands on targets
ansible.builtin.copy Copy files to remote locations
ansible.builtin.cron Manage cron.d and crontab entries
ansible.builtin.debconf Configure a .deb package
ansible.builtin.debug Print statements during execution
ansible.builtin.dnf Manages packages with the dnf' pack...
ansible.builtin.dpkg_selections Dpkg package selection selections
ansible.builtin.expect Executes a command and responds to p...
ansible.builtin.fail Fail with custom message
ansible.builtin.fetch Fetch files from remote nodes
ansible.builtin.file Manage files and file properties
ansible.builtin.find Return a list of files based on spec...

模块列表通常由以下几部分组成:

  • ansible.builtin.: 表示这些模块是随 Ansible Core 一起提供的内置模块
  • 模块名称: 在 Playbook 或即席命令中调用模块时使用的具体名称
  • 描述: 对模块主要功能的简要介绍

在实际工作中,经常会使用到以下几个重要模块:

  • command: 在目标系统上执行命令
  • copy: 将文件从控制节点复制到远程主机
  • dnf: 在 Red Hat 系统上安装、更新或移除软件包
  • file: 创建目录、设置权限以及管理文件属性
  • debug: 在 Playbook 执行过程中输出调试信息,便于排查问题

如果你想查看某个模块的详细文档,可以在 ansible-doc 命令后面加上模块名称。为了保持命令非交互式并方便后续查看,可以将输出重定向保存到文件中。例如,要查看 copy 模块文档:
ansible-doc copy | tee copy-doc.txt

该命令会显示 copy 模块的完整说明,包括参数、用法和示例,并将副本保存到 copy-doc.txt 文件中。借助 ansible-doc,你可以方便地查阅任意 Ansible 模块文档,从而更快掌握不同自动化功能的使用方法。

总结

在本实验中,你已经成功学习了如何在 Red Hat Enterprise Linux 系统上安装并验证 Ansible Core。你完成了以下关键任务:

  1. 安装 Ansible Core:你使用 sudo dnf install ansible-core -y 命令,通过官方 Red Hat 软件仓库安装了 Ansible 核心软件包及其相关依赖。
  1. 验证安装:你通过检查 ansible 和 ansible-playbook 命令的版本信息,确认 Ansible 已正确安装并可正常使用。
  1. 测试基本功能:你运行了基础的 Ansible 测试命令,以确认安装环境工作正常,包括:
  • 使用 ping 模块验证连接能力
  • 使用 setup 模块收集系统 facts 信息
  1. 探索可用模块:你学习了如何使用 ansible-doc 命令发现并阅读丰富的 Ansible 模块文档。

现在,你的 RHEL 系统已经具备一个可用且完整的 Ansible 环境,你也掌握了开始进行 Linux 自动化与基础设施自动化所需的核心命令。这为后续学习更高级的 Ansible 主题打下了良好基础,例如编写 Playbook、管理清单文件,以及构建更复杂的自动化工作流。

来源:https://labex.io/zh/tutorials/rhel-install-ansible-on-red-hat-enterprise-linux-590544
上一篇RHEL上实现Ansible Playbook的部署与使用指南 下一篇在线OpenClaw实验场体验与玩法指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。