使用 package 模块安装包
跨发行版管理软件
使用 package 模块安装包 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
一个模块,适用于多个发行版
package 模块无需您指定软件包管理器即可安装软件。它会根据目标主机自动选择 apt、dnf 或 yum。
使用 state: present 安装
要安装软件,请提供软件包名称并设置 state: present。只有在软件包缺失时,Ansible 才会安装它。
ansible.builtin.package:
name: nginx
state: presentname 表示软件包
name 键保存发行版所识别的软件包名称,例如 nginx 或 git。大多数常见名称在不同发行版中都相同。
name: git使用 state: absent 卸载
设置 state: absent 即可卸载软件包。只有在软件包当前已安装时,模块才会将其删除,同时保持幂等性。
ansible.builtin.package:
name: telnet
state: absent一次安装一个列表
将列表传递给 name,模块就会在一个任务中安装列表中的每个软件包。这比编写多个独立任务更简洁、更快速。
ansible.builtin.package:
name:
- git
- curl
- vim
state: present它具有幂等性
将任务运行两次后,第二次运行会报告 ok,而不是 changed。软件包已经存在,因此不会再次执行任何操作。
package 封装原生软件包管理器
package 模块是一个通用封装器。在底层,它会在 Debian 上调用 apt,在 Fedora 上调用 dnf,因此您只需编写一次任务。
需要时使用专用模块
对于仅由特定管理器提供的功能,请直接使用 apt 或 dnf。它们提供了 package 不支持的选项,例如 update_cache。
ansible.builtin.apt:
name: nginx
update_cache: true通常需要提升权限
安装软件需要 root 权限,因此请在任务或执行手册中添加 become: true。Ansible 随后会使用 sudo 运行软件包任务。
- name: Install nginx
become: true
ansible.builtin.package:
name: nginxstate: present 通常是默认值
许多软件包模块会将 present 视为默认状态。即使如此仍然写出它,可以让下一位读者清楚地了解您的意图。
尝试临时运行
无需执行手册,您也可以临时安装软件。下面的一行命令会在 web 组中的每台主机上安装 git。
ansible web -b -m package -a "name=git state=present"快速检查
您希望用一个任务在 Debian 和 Fedora 主机上都安装 nginx。
回顾
package 模块可通过 present 和 absent 安装或移除软件,接受列表,保持幂等,并且适用于各种发行版。📦
常见问题解答
「使用 package 模块安装包」课时是免费的吗?
是的 — 「使用 package 模块安装包」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「使用 package 模块安装包」这节课中我会学到什么?
跨发行版管理软件 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 package 模块安装包」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 模块究竟是什么
- 使用 package 模块安装包
- 使用 systemd 管理服务
- 使用 ansible-doc 阅读文档