Ansible——yum模块

目录

参数总结

1. 安装软件包

安装单个软件包

安装多个软件包

从特定仓库安装 

安装包并禁用 GPG 检查 

简单的命令行帮助

2. 更新软件包

更新单个软件包到最新版本

更新所有可升级的软件包

3. 删除软件包

删除单个软件包

删除多个软件包

4. 安装特定版本的软件包

5. 禁用并清理无用的包

Playbook示例

示例1:安装软件包

示例2:安装多个软件包

示例3:更新软件包

示例4:删除软件包

示例5:从特定仓库安装软件包

示例6:安装特定版本的软件包

示例7:禁用 GPG 检查

示例8:安装组包

示例9:安装所有可升级的软件包

示例10:卸载并清理无用的软件包


yum 模块是 Ansible 用于管理 Red Hat 及其衍生发行版(如 CentOS 和 Fedora)上的软件包的模块。使用 yum 模块可以方便地安装、更新、删除和管理软件包。

参数总结

  1. name:

    • 描述:要管理的软件包名称。可以指定一个包名称、包名称和版本,或一个 URL 指向的包。
    • 类型:字符串或列表
    • 必需:否(如果使用了 liststate 参数)
  2. state:

    • 描述:包的目标状态。
    • 可选值:present(确保包已安装)、absent(确保包已移除)、latest(确保安装最新版本)、reinstalled(重新安装包)
    • 类型:字符串
    • 默认值:present
  3. enablerepo:

    • 描述:启用指定的 YUM 库。
    • 类型:字符串或列表
  4. disablerepo:

    • 描述:禁用指定的 YUM 库。
    • 类型:字符串或列表
  5. exclude:

    • 描述:排除安装或更新指定的包。
    • 类型:字符串或列表
  6. allow_downgrade:

    • 描述:允许降级包到较低版本。
    • 类型:布尔值
    • 默认值:no
  7. update_cache:

    • 描述:在执行操作前更新 YUM 缓存。
    • 类型:布尔值
    • 默认值:no
  8. validate_certs:

    • 描述:使用 SSL 时验证服务端证书。
    • 类型:布尔值
    • 默认值:yes
  9. conf_file:

    • 描述:指定自定义的 YUM 配置文件。
    • 类型:字符串
  10. disable_gpg_check:

    • 描述:禁用 GPG 签名检查。
    • 类型:布尔值
    • 默认值:no
  11. autoremove:

    • 描述:如果为 yes,则自动删除所有未使用的依赖项。
    • 类型:布尔值
    • 默认值:no

 

1. 安装软件包

安装单个软件包
ansible all -m yum -a "name=nginx state=present"

安装多个软件包
ansible all -m yum -a "name=nginx,git,vim state=present"

 

从特定仓库安装 
ansible all -m yum -a "name=nginx enablerepo=epel state=present"

 

安装包并禁用 GPG 检查 
ansible all -m yum -a "name=nginx disable_gpg_check=yes state=present"

 

简单的命令行帮助

要获取 yum 模块的所有选项和参数,可以使用以下命令查看详细帮助:

ansible-doc -s yum

  

2. 更新软件包

更新单个软件包到最新版本
ansible all -m yum -a "name=nginx state=latest"

更新所有可升级的软件包
ansible all -m yum -a "name=* state=latest"

3. 删除软件包

删除单个软件包
ansible all -m yum -a "name=nginx state=absent"

删除多个软件包
ansible all -m yum -a "name=nginx,git state=absent"

4. 安装特定版本的软件包

ansible all -m yum -a "name=nginx-1.14.1 state=present"

5. 禁用并清理无用的包

安装 yum-utils 并使用 package-cleanup 命令:

ansible all -m yum -a "name=yum-utils state=present"
ansible all -a "package-cleanup --oldkernels --count=2"
ansible all -a "package-cleanup --leaves"

 

 

Playbook示例

 

示例1:安装软件包

创建一个 Playbook 文件 install_packages.yml ,用于安装 nginx 软件包:

---
- name: Install Nginxhosts: alltasks:- name: Ensure nginx is installedyum:name: nginxstate: present

示例2:安装多个软件包

可以在同一个任务中安装多个软件包,例如 nginxgit 和 vim

---
- name: Install Multiple Packageshosts: alltasks:- name: Ensure nginx, git, and vim are installedyum:name: - nginx- git- vimstate: present

示例3:更新软件包

将 nginx 软件包更新到最新版本:

---
- name: Update Nginxhosts: alltasks:- name: Ensure nginx is the latest versionyum:name: nginxstate: latest

示例4:删除软件包

删除 nginx 软件包:

---
- name: Remove Nginxhosts: alltasks:- name: Ensure nginx is absentyum:name: nginxstate: absent

示例5:从特定仓库安装软件包

从 epel 仓库安装 nginx 软件包:

---
- name: Install Nginx from EPEL Repohosts: alltasks:- name: Ensure nginx is installed from EPEL repositoryyum:name: nginxenablerepo: epelstate: present

示例6:安装特定版本的软件包

安装 nginx 的特定版本 1.14.1

---
- name: Install Specific Version of Nginxhosts: alltasks:- name: Ensure nginx 1.14.1 is installedyum:name: nginx-1.14.1state: present

示例7:禁用 GPG 检查

安装 nginx 软件包并禁用 GPG 检查:

---
- name: Install Nginx with GPG Check Disabledhosts: alltasks:- name: Ensure nginx is installed with GPG check disabledyum:name: nginxdisable_gpg_check: yesstate: present

示例8:安装组包

安装 Development Tools 组包:

---
- name: Install Development Tools Grouphosts: alltasks:- name: Ensure Development Tools are installedyum:name: "@Development Tools"state: present

示例9:安装所有可升级的软件包

更新所有可升级的软件包:

---
- name: Update All Packages to Latest Versionhosts: alltasks:- name: Update all packages to the latest versionyum:name: '*'state: latest

示例10:卸载并清理无用的软件包

安装 yum-utils 并使用 package-cleanup 命令清理无用的软件包:

---
- name: Cleanup Unnecessary Packageshosts: alltasks:- name: Install yum-utilsyum:name: yum-utilsstate: present- name: Remove unnecessary packagesshell: package-cleanup --leaves --exclude-binbecome: yes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java使用swing实现简易计算器

效果如下 代码实现 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class SimpleCalculator {private JFrame frame;private JTextField numField1;private JTextField numField2;private JTex…

flink消费kafka时获取元数据信息

当flink消费kafka时,只需要简单配置就能使用并正常运行 val env StreamExecutionEnvironment.getExecutionEnvironmentval props new Properties()props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "192.168.0.30:9092")props.setProperty(…

数据结构习题(快期末了)

一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。 数据的存储结构是数据的逻辑结构的存储映像。 数据的物理结构是指数据在计算机内实际的存储形式。 算法是对解题方法和…

java基础知识漏洞三

Object Object 类的常见方法有哪些&#xff1f; /*** native 方法&#xff0c;用于返回当前运行时对象的 Class 对象&#xff0c;使用了 final 关键字修饰&#xff0c;故不允许子类重写。*/ public final native Class<?> getClass() /*** native 方法&#xff0c;用于…

编程喊什么:揭秘编程世界的奥秘与魅力

编程喊什么&#xff1a;揭秘编程世界的奥秘与魅力 在数字化时代的浪潮中&#xff0c;编程已经成为了一种无处不在的力量。那么&#xff0c;当我们在编程的世界里遨游时&#xff0c;我们究竟在喊什么呢&#xff1f;本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;…

读取CSV文件生成RDD去掉标题行

文章目录 1. 创建CSV文件2. 上传CSV文件3. 读取CSV文件生成RDD4. 去掉标题行生成新RDD5. 查看新生成的RDD 1. 创建CSV文件 执行命令&#xff1a;vim scores.csv 在WPS里查看CSV文件 2. 上传CSV文件 执行命令&#xff1a;hdfs dfs -put scores.csv /park 3. 读取CSV文件生…

公司活动想找媒体报道宣传怎样邀请媒体?

在当今信息爆炸的时代,对于正处于成长阶段的中小企业而言,有效且成本控制得当的宣传策略是推动品牌发展、扩大市场影响力的关键。尤其是在预算有限的情况下,如何让“好钢用在刀刃上”,实现宣传效果的最大化,成为众多企业共同面临的挑战。在此背景下,智慧软文发布系统网站作为一…

linux命令提示符设置

什么是命令提示符: 例如ubuntu: root@ubuntu20:/home# 命令提示符就是:提示输入命令的信息描述行;命令提示符一般格式就是:用户名@主机名:路径# 其实命令描述符是可以按照自己的喜好进行修改的: 1. 显示格式:当前路径# #执行命令 export PS1=\w\$ #可实现显示当前路…

解决conda中“requests.exceptions.HTTPError: 404 Client Error”问题

解决conda中“requests.exceptions.HTTPError: 404 Client Error”问题 1. Question conda activate base conda create -n myenv python3.9报错信息如下&#xff1a; >>>>>>>>>>>>>>>>>>>>>> ERROR REPO…

智能体,大模型的“增程路线”?

智能体&#xff08;AI Agent&#xff09;&#xff0c;正在将用户对大语言模型的使用分成两种截然不同的方式&#xff1a;同样是写一篇文章&#xff0c;在非智能体工作流中&#xff0c;用户输入提示词&#xff0c;然后等待大模型生成答案的整个过程&#xff0c;就像中间不使用退…

补偿 EMI 滤波器 X 电容对有源 PFC 功率因数的影响

现代开关模式电源使用 X 电容器和 Y 电容器与电感器的组合来过滤共模和差模 EMI。滤波器元件位于任何有源&#xff08;或无源&#xff09;功率因数校正 (PFC) 电路的前面&#xff08;图 1&#xff09;&#xff0c;因此 EMI 滤波器的电抗对功率因数 (PF) 造成的任何失真都会改变…

日本2024年最受欢迎的转职行业是IT 通信

2024年有关机构针对超1000名人力资源专业人士进行了“推荐转职行业”的调查。结果显示&#xff0c;日本目前最受欢迎的转职行业是 1、“IT/通信行业”&#xff08;45.9%&#xff09;&#xff0c; 2、其次是“互联网/广告/游戏”&#xff08;31.9%&#xff09;&#xff0c; 3、“…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA与朋友们的石头剪刀布游戏(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍓OJ题目截图 📎在线评测链接 LYA与朋友们的石头剪刀布游戏(100分) 🌍 评…

清华大学与智谱AI重磅开源 GLM-4:掀起自然语言处理新革命

在强大的预训练基础上&#xff0c;GLM-4-9B 的中英文综合性能相比 ChatGLM3-6B 提升了 40%。尤其是中文对齐能力 AlignBench、指令遵从能力 IFeval&#xff0c;以及工程代码处理能力 Natural Code Bench 方面都实现了显著提升。 自 2023 年 3 月 14 日开源 ChatGLM-6B 以来&am…

《Brave New Words 》致谢

Acknowledgments 致谢 Thank you to Umaima Marvi for being the best life partner, whose support has been instrumental in every step of this journey. 感谢 Umaima Marvi&#xff0c;她是最好的生活伴侣&#xff0c;她的支持在这段旅程中的每一步都起到了关键作用。 Imr…

ES 操作

1、删除索引的所有记录 curl -X POST "localhost:9200/<index-name>/_delete_by_query" -H Content-Type: application/json -d {"query": {"match_all": {}} }POST /content_erp_nlp_help/_delete_by_query { "query": { &quo…

Vue2/Vue3使用video播放视频--捕获截图

基本步骤 在JavaScript中&#xff0c;实现从<video>元素中截图的基本步骤如下&#xff1a; 1、创建Canvas元素&#xff1a;首先&#xff0c;需要创建一个<canvas>元素&#xff0c;因为截图操作会借助Canvas的绘图上下文来完成。 2、获取Video帧&#xff1a;从<v…

编程的m09:深入解读这一神秘指令的四大方面、五大细节、六大应用场景及七大挑战

编程的m09&#xff1a;深入解读这一神秘指令的四大方面、五大细节、六大应用场景及七大挑战 在编程的世界中&#xff0c;各种指令和代码如同魔法咒语&#xff0c;它们被赋予特定的含义和功能&#xff0c;用以操控计算机完成各种任务。然而&#xff0c;对于初学者或是不熟悉某个…

算法刷题笔记 二进制中1的个数(C++实现)

文章目录 题目描述基本思路实现代码 题目描述 给定一个长度为n的数列&#xff0c;请你求出数列中每个数的二进制表示中1的个数。 输入格式 第一行包含整数n。第二行包含n个整数&#xff0c;表示整个数列。 输出格式 共一行&#xff0c;包含n个整数&#xff0c;其中的第i个…

SQL Server几种琐

SQL Server 中的锁类型主要包括以下几种&#xff0c;它们用于控制并发访问和数据一致性&#xff1a; 1. 共享锁&#xff08;Shared Lock&#xff0c;S 锁&#xff09;&#xff1a; - 用于读取操作&#xff08;如 SELECT 语句&#xff09;。 - 允许多个事务同时读取同一资…