0Pricing
DevOps Bootcamp · 课时

使用 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: present

name 表示软件包

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: nginx

state: 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 模块究竟是什么
  2. 使用 package 模块安装包
  3. 使用 systemd 管理服务
  4. 使用 ansible-doc 阅读文档
← 返回 DevOps Bootcamp