跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Linux怎么安装Ansible_Linux自动化运维工具教程【批量】

Ansible可在Linux中通过四种方式安装:一、用系统包管理器(如apt/dnf/yum)安装,适合生产环境;二、用pip安装最新稳定版;三、从GitHub源码编译安装,支持定制化;四、安装后需验证路径、版本及本地ping测试。

如果您希望在Linux系统中部署Ansible以实现批量主机的自动化配置与任务执行,则需根据发行版差异选择对应的安装方式。以下是适用于主流Linux发行版的多种安装方法:

一、使用系统包管理器安装

此方法依赖发行版官方仓库提供的Ansible软件包,安装过程简洁、依赖自动解析,适合对稳定性要求较高的生产环境。

1、在基于Debian/Ubuntu的系统上,运行以下命令更新软件索引并安装Ansible:

2、执行

sudo apt update && sudo apt install ansible -y。

3、在基于RHEL/CentOS 8+ 或 Fedora 系统上,启用 EPEL 仓库后安装:

4、执行

sudo dnf install epel-release -y && sudo dnf install ansible -y。

5、在 CentOS 7 上,先安装 EPEL 源,再安装 Ansible:

6、执行

sudo yum install epel-release -y && sudo yum install ansible -y。

二、使用pip安装最新稳定版

该方式可绕过系统仓库版本限制,直接获取PyPI上发布的最新稳定版Ansible,适用于需要特定功能或较新模块的场景。

1、确保系统已安装Python 3及pip3工具:

2、执行

python3 -m pip --version验证pip可用性。

3、升级pip至最新版本:

4、执行

python3 -m pip install --upgrade pip。

5、使用pip安装Ansible:

6、执行

python3 -m pip install ansible。

7、若需避免权限冲突,可添加

--user参数进行用户级安装。

三、从源码编译安装(适用于定制化需求)

此方法允许开发者检出特定分支或提交,用于测试开发中功能、打补丁或构建私有分发版本。

CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。

下载

1、安装Git及编译依赖:

2、在Ubuntu/Debian上执行

sudo apt install git python3-dev libffi-dev libssl-dev -y。

3、在RHEL/CentOS/Fedora上执行

sudo dnf install git python3-devel openssl-devel libffi-devel -y。

4、克隆Ansible官方GitHub仓库:

5、执行

git clone https://github.com/ansible/ansible.git。

6、进入项目目录并检出稳定分支(如stable-2.16):

7、执行

cd ansible && git checkout stable-2.16。

8、初始化子模块并安装到本地Python环境中:

9、执行

git submodule update --init --recursive && python3 -m pip install --user .

四、验证Ansible安装状态

无论采用何种安装方式,均需确认Ansible可执行文件路径已纳入系统PATH,并能正确输出版本信息。

1、检查Ansible是否识别为命令:

2、执行

which ansible,应返回类似/usr/bin/ansible或/home/username/.local/bin/ansible的路径。

3、查看Ansible版本:

4、执行

ansible --version,输出中应包含Ansible核心版本号、Python解释器路径及配置文件位置。

5、测试本地连接模块是否正常工作:

6、执行

ansible localhost -m ping,预期返回localhost | SUCCESS => {"changed": false, "ping": "pong"}。

相关文章