ansible.posix.patch 模块 – 使用 GNU patch 工具应用补丁文件

注意

此模块是 ansible.posix 集合(版本 1.6.2)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install ansible.posix

要在 Playbook 中使用它,请指定:ansible.posix.patch

ansible.posix 1.0.0 中的新功能

概要

  • 使用 GNU patch 工具应用补丁文件。

注意

此模块具有相应的 action 插件

参数

参数

注释

backup

布尔值

--backup --version-control=numbered 传递给 patch,生成编号的备份副本。

选项

  • false ←(默认)

  • true

basedir

路径

要在其中应用补丁文件的基本目录的路径。

当指定 dest 选项时可以省略,否则为必需。

binary

布尔值

设置为 true 将禁用 patch 将 CRLF 行结尾转换为 LF 的启发式方法。

srcdest 的行结尾必须匹配。

如果设置为 falsepatch 将替换 POSIX 上 src 文件中的 CRLF。

选项

  • false ←(默认)

  • true

dest

别名:originalfile

路径

要修补的远程计算机上的文件路径。

要修补的文件的名称通常取自补丁文件,但如果只有一个文件要修补,则可以使用此选项指定。

ignore_whitespace

布尔值

设置为 true 将忽略补丁和输入之间的空格更改。

选项

  • false ←(默认)

  • true

remote_src

布尔值

如果 false,它将在发起/控制机器上搜索 src。

如果 true,它将转到远程/目标计算机以查找 src

选项

  • false ←(默认)

  • true

src

别名:patchfile

路径 / 必需

GNU patch 工具接受的补丁文件的路径。如果 remote_src=false,则从模块的 files 目录中查找补丁源文件。

state

字符串

是否应该应用或还原补丁。

选项

  • "absent"

  • "present" ←(默认)

strip

整数

一个数字,指示将从补丁文件中找到的每个文件名中删除的包含前导斜杠的最小前缀。

有关更多信息,请参阅 GNU patch 工具的 strip 参数。

默认值: 0

注释

注意

  • 此模块需要在远程主机上安装 GNU patch 实用程序。

示例

- name: Apply patch to one file
  ansible.posix.patch:
    src: /tmp/index.html.patch
    dest: /var/www/index.html

- name: Apply patch to multiple files under basedir
  ansible.posix.patch:
    src: /tmp/customize.patch
    basedir: /var/www
    strip: 1

- name: Revert patch to one file
  ansible.posix.patch:
    src: /tmp/index.html.patch
    dest: /var/www/index.html
    state: absent

作者

  • Jakub Jirutka (@jirutka)

  • Luis Alberto Perez Lazaro (@luisperlaz)