当前位置: 首页 > news >正文

全平台Ansible一键安装脚本:Ubuntu/Debian/RHEL全支持

生产环境的完整 Bash 自动化安装脚本,支持 Ubuntu、Debian、RHEL/CentOS/Rocky/AlmaLinux

脚本功能

  • 自动识别操作系统类型
  • Ubuntu:使用官方 PPA(最新稳定版)
  • RHEL 系:使用 EPEL(企业级可信源)
  • Debian / 其他:使用 虚拟环境 + 指定版本 pip 安装
  • 支持自定义 Ansible 版本(默认 9.5.0,可修改)
  • 不污染系统 Python 环境
  • 安装后自动验证
#!/bin/bash
# =============================================================================
# Ansible Production Installer
# Supports: Ubuntu, Debian, RHEL, CentOS, Rocky, AlmaLinux
# Author: zz-zjx
# Version: 1.0
# =============================================================================
set -euo pipefail# ====== 配置区(可按需修改)======
ANSIBLE_VERSION="9.5.0"        # 推荐固定版本(参考:https://pypi.org/project/ansible/#history)
VENV_PATH="/opt/ansible"       # 虚拟环境路径
# ================================log() {echo "[$(date +'%Y-%m-%d %H:%M:%S')] INFO: $*" >&2
}error() {echo "[$(date +'%Y-%m-%d %H:%M:%S')] ERROR: $*" >&2exit 1
}# 检查是否为 root
if [[ $EUID -ne 0 ]]; thenerror "此脚本需以 root 权限运行"
fi# 检测操作系统
if [ -f /etc/os-release ]; then. /etc/os-releaseOS=$IDVER=$VERSION_ID
elseerror "无法识别操作系统"
filog "检测到系统: $OS $VER"# ======================
# Ubuntu:使用官方 PPA
# ======================
if [[ "$OS" == "ubuntu" ]]; thenlog "使用 Ubuntu 官方 PPA 安装 Ansible..."# 安装依赖apt updateapt install -y software-properties-common gnupg# 添加 PPA(自动处理 GPG 密钥)add-apt-repository --yes --update ppa:ansible/ansible# 安装apt install -y ansiblelog " Ubuntu: Ansible 已通过 PPA 安装"ansible --versionexit 0
fi# ======================
# RHEL/CentOS/Rocky/Alma:使用 EPEL
# ======================
if [[ "$OS" == "rhel" || "$OS" == "centos" || "$OS" == "rocky" || "$OS" == "almalinux" ]]; thenlog "使用 EPEL 仓库安装 Ansible..."# 启用 EPELif ! dnf list installed epel-release &>/dev/null; thendnf install -y epel-releasefi# 安装 Ansiblednf install -y ansiblelog " RHEL 系: Ansible 已通过 EPEL 安装"ansible --versionexit 0
fi# ======================
# Debian / 其他系统:使用虚拟环境 + pip
# ======================
if [[ "$OS" == "debian" ]] || [[ "$OS" == "fedora" ]] || [[ "$OS" == "opensuse" ]]; thenlog "使用虚拟环境 + pip 安装 Ansible $ANSIBLE_VERSION..."# 安装 Python3 和 pipif command -v apt &>/dev/null; thenapt updateapt install -y python3 python3-venv python3-pipelif command -v dnf &>/dev/null; thendnf install -y python3 python3-pipelif command -v zypper &>/dev/null; thenzypper install -y python3 python3-pipelseerror "不支持的包管理器"fi# 创建虚拟环境python3 -m venv "$VENV_PATH"# 升级 pip 并安装指定版本 Ansible"$VENV_PATH/bin/pip" install --upgrade pip"$VENV_PATH/bin/pip" install "ansible==${ANSIBLE_VERSION}"# 创建全局软链接(方便调用)ln -sf "$VENV_PATH/bin/ansible" /usr/local/bin/ansibleln -sf "$VENV_PATH/bin/ansible-playbook" /usr/local/bin/ansible-playbooklog " 通用方案: Ansible $ANSIBLE_VERSION 已安装到 $VENV_PATH"ansible --versionexit 0
fi# ======================
# 未知系统
# ======================
error "不支持的操作系统: $OS。请手动安装或联系运维团队。"

http://www.dtcms.com/a/520021.html

相关文章:

  • leetcode 23 合并K个升序链表
  • Element Plus组件v-loading在el-dialog组件上使用无效
  • 广州骏域网站阿里云可以建设多个网站
  • 青海网站建设与制作网站做多长时间才会有流量
  • 金坛建设局网站网站建设的主要功能有哪些
  • UTB(Ultra-Thin Body)技术:原理、制造与未来展望
  • 【咨询】安卓开发语言选择分析(202510)
  • 兵团住房和城乡建设局网站做性的视频网站
  • 经典路径求解问题——路径之谜
  • AI大模型微调简介
  • Cesium绘制线:从基础到高级技巧
  • uniapp 实现网络测速小功能
  • RK Android14 添加了从产品配置中删除特定APK的功能
  • 恢复 git push -force 覆盖的提交记录
  • 自己做的网站怎么删除建设网站 无法显示图片
  • 黄冈网站ppt网站
  • AGV机器人
  • 面向对象——设计模式(创建型)
  • 05_逻辑回归
  • Dify从入门到精通 第25天 在 Dify 中构建智能天气查询机器人
  • 【设计模式】代理模式(Proxy)
  • 怎么建手机网站wordpress和公众号
  • ADS ERROR:invalid class id(0x71c)问题记录
  • 模板号专注于网站企业网站建设的类型
  • golang学习笔记:标准库slices
  • golang学习笔记:标准库os
  • Python机器学习---5.决策树
  • 恶劣天气目标检测IA-YOLO
  • Google Now in Android(NIA)
  • Flink中的Lookup join和Temporal join 的语法是一样的吗?