ansible常用模块总结

news2024/10/5 14:03:09

目录

一、 assert模块

二、 authorized_key模块

三、at模块

四、blockinfile模块

五、command模块

六、copy模块

七、 cron模块

八、 firewalld模块

九、 fail模块

十、 file模块

十一、 fetch模块

十二、filesystem模块

十三、 get_url模块

十四、group模块

十五、known_hosts模块

十六、lineinfile模块

十七、lvg模块

十八、lvol模块

十九、mount模块

二十、nmcli模块 

二十一、ping模块

二十二、package_facts模块

二十三、parted模块 

二十四、register模块和debug模块

二十五、reboot模块

二十六、setup模块

二十七、shell模块

二十八、sefcontext模块

二十九、stat模块

三十、synchronize模块

三十一、script模块

三十二、systemd模块

三十三、template模块

三十四、user模块

三十五、uri模块

三十六、yum模块和service模块

三十七、yum_repository模块

三十八、 常用模块汇总:


 

查看所有模块: 

 ansible-doc -l

 

查看具体模块:

ansible-doc setup


查看具体模块的示例输出:

ansible-doc -s setup

=========================================================================

一、 assert模块

Ansible assert模块用于在任务执行期间对变量或表达式进行断言。如果断言失败,则任务将失败并停止执行。它可以用于确保在任务执行期间满足某些条件,以避免出现意外的结果。

assert模块的语法如下:
- name: Ensure that a variable is set to a specific value
  assert:
    that:
      - variable_name == expected_value
其中,that参数是一个列表,包含要断言的变量或表达式。如果列表中的任何一个断言失败,则任务将失败。

除了基本的相等性检查之外,assert模块还支持其他比较运算符,如大于、小于、包含等。它还可以用于检查变量是否存在、是否为真或是否为假等。

例如,以下示例使用assert模块检查变量my_var是否为字符串类型:

- name: Ensure that a variable is a string
  assert:
    that:
      - my_var is string
如果my_var不是字符串类型,则任务将失败。


二、 authorized_key模块

authorized_key模块是Ansible中用于管理SSH授权密钥的模块。它可以将公钥添加到远程主机的授权密钥列表中,也可以从远程主机的授权密钥列表中删除公钥。

以下是一些常见的用法:
添加公钥到远程主机的授权密钥列表中:
- name: Add SSH key to authorized_keys
  authorized_key:
    user: username
    key: "{{ lookup('file', '/path/to/public/key') }}"
从远程主机的授权密钥列表中删除公钥:
- name: Remove SSH key from authorized_keys
  authorized_key:
    user: username
    key: "{{ lookup('file', '/path/to/public/key') }}"
    state: absent
从远程主机的授权密钥列表中删除所有公钥:
- name: Remove all SSH keys from authorized_keys
  authorized_key:
    user: username
    state: absent
注意:在使用authorized_key模块之前,需要确保远程主机上已经安装了SSH服务,并且已经启用了SSH密钥认证。


三、at模块


四、blockinfile模块

ansible blockinfile模块用于在文件中添加或修改一个块(block)的内容。它可以在文件中查找一个特定的标记(marker),然后在该标记之前或之后添加或修改一个块的内容。

该模块的常用参数包括:

path:要修改的文件路径。
block:要添加或修改的块的内容。
marker:标记,用于定位要修改的块的位置。
state:状态,可选值为present(添加或修改)或absent(删除)。
例如,以下是一个使用blockinfile模块添加一个块的示例:

- name: Add a block to a file
  blockinfile:
    path: /etc/nginx/nginx.conf
    block: |
      server {
          listen 80;
          server_name example.com;
          location / {
              proxy_pass http://localhost:8000;
          }
      }
    marker: "# BEGIN NGINX BLOCK"
    state: present
这个任务会在/etc/nginx/nginx.conf文件中查找标记# BEGIN NGINX BLOCK,如果找到了该标记,则在该标记之前添加一个块。如果没有找到该标记,则在文件末尾添加该块。


五、command模块

临时命令:

ansible all -m command -a 'tail /etc/passwd' -i inventory 

模块内容: 

Ansible command 模块是用于在远程主机上执行命令的模块。它可以在远程主机上执行任何命令,就像在本地终端上一样。使用 Ansible command 模块可以轻松地在远程主机上执行命令,而无需在远程主机上安装任何额外的软件。


六、copy模块

临时命令:

ansible all -m copy -a 'content="this server is managed by ansible\n" dest=/etc/motd' --become

 模块内容:

Ansible的copy模块用于将文件或目录从控制节点复制到远程主机。它可以复制本地文件到远程主机,也可以复制远程主机上的文件到本地。

copy模块的基本语法如下:

- name: Copy file from local to remote
  copy:
    src: /path/to/local/file
    dest: /path/to/remote/file
    owner: user
    group: group
    mode: 0644
其中,src表示源文件路径,dest表示目标文件路径。owner、group和mode是可选参数,用于设置文件的所有者、组和权限。

如果要复制目录,可以使用递归选项:

- name: Copy directory from local to remote
  copy:
    src: /path/to/local/directory/
    dest: /path/to/remote/directory/
    owner: user
    group: group
    mode: 0755
    recurse: yes
在复制文件或目录之前,Ansible会检查目标文件是否存在。如果存在,它会根据md5校验和检查文件是否相同。如果不同,Ansible会覆盖目标文件。如果相同,Ansible会跳过复制操作。

ansible copy模块常用参数:
src:指定源文件路径,可以是绝对路径或相对路径。
dest:指定目标文件路径,可以是绝对路径或相对路径。
backup:指定备份文件路径,可以是绝对路径或相对路径。
force:如果目标文件已经存在,是否强制覆盖。
mode:指定目标文件的权限模式,可以是数字或字符串形式。
owner:指定目标文件的所有者。
group:指定目标文件的所属组。
validate:指定一个命令或脚本,用于验证复制的文件是否正确。
content:指定要复制的文件内容,可以是字符串或文件路径。
remote_src:如果源文件在远程主机上,是否使用远程主机上的文件进行复制。
follow:如果源文件是符号链接,是否跟随符号链接进行复制。
selevel:指定目标文件的安全级别。
serole:指定目标文件的安全角色。
setype:指定目标文件的安全类型。
seuser:指定目标文件的安全用户。


七、 cron模块


八、 firewalld模块

运行playbook:

ansible-playbook  site.yml

 

模块内容:

Ansible的firewalld模块用于管理firewalld防火墙。以下是一些常用的参数:

state:指定防火墙状态,可以是enabled、disabled或permissive。
immediate:如果设置为yes,则立即应用更改,否则需要重启firewalld服务才能生效。
service:指定要打开或关闭的服务。
port:指定要打开或关闭的端口。
rich_rule:指定要添加或删除的复杂规则


九、 fail模块

用于强制任务失败。


十、 file模块

使用file模块处理受管主机上的文件。其工作方式与touch命令类似,如果不存在则创建一个空文件,如果存在,则更新其修改时间。在本例中,除了处理文件之外,Ansible还确保将文件的拥有用户、组和权限设置为特定值。

ansible file模块常用参数如下:

path:指定文件或目录的路径。
state:指定文件或目录的状态,可选值为file、directory、link、hard、absent,默认为file。
mode:指定文件或目录的权限,可以使用数字或字符串表示,如0644或u=rw,g=r,o=r。
owner:指定文件或目录的所有者。
group:指定文件或目录的所属组。
src:指定源文件的路径,用于创建符号链接。
dest:指定符号链接的目标路径。
recurse:指定是否递归处理目录,默认为no。
force:指定是否强制覆盖已存在的文件或目录,默认为no。
backup:指定是否备份已存在的文件或目录,默认为no。
follow:指定是否跟随符号链接,默认为yes。
selevel:指定SELinux安全级别。
serole:指定SELinux安全角色。
setype:指定SELinux安全类型。
seuser:指定SELinux安全用户。 


十一、 fetch模块

ansible fetch模块用于从远程主机上获取文件,将其复制到本地主机上。

常用参数:

src:远程主机上的文件路径。
dest:本地主机上的目标路径。
flat:是否将文件复制到目标路径的根目录下,而不是保留原有的目录结构。
validate:用于验证文件的哈希值,可选值为md5、sha1、sha224、sha256、sha384、sha512,默认为md5。


十二、filesystem模块


十三、 get_url模块

playbook示例:

 

模块内容:

get_url模块是Ansible中用于从远程URL下载文件的模块。它可以从HTTP、HTTPS、FTP等协议下载文件,并支持基本身份验证和代理服务器。

常用参数:

url:要下载的文件的URL。
dest:下载文件的目标路径。
url_username:用于身份验证的用户名。
url_password:用于身份验证的密码。
force:如果目标文件已经存在,则强制重新下载。
timeout:下载超时时间。
validate_certs:是否验证SSL证书。
proxy_host:代理服务器的主机名。
proxy_port:代理服务器的端口号。
headers:HTTP请求头。


十四、group模块

Ansible的group模块用于管理Linux系统中的用户组。它可以用来创建、修改和删除用户组,以及添加和删除用户组中的用户。

以下是group模块的一些常用参数:

name:指定用户组的名称。
gid:指定用户组的GID。
state:指定用户组的状态,可以是present(存在)、absent(不存在)或者hidden(隐藏)。
system:指定用户组是否为系统用户组。
append:指定是否将用户添加到用户组中。


下面是一个使用group模块创建用户组的例子:
- name: Create a new group
  group:
    name: mygroup
    state: present
这个例子将创建一个名为“mygroup”的用户组。如果该用户组已经存在,则不会进行任何操作。如果该用户组不存在,则会创建该用户组。

下面是一个使用group模块添加用户到用户组的例子:
- name: Add a user to a group
  group:
    name: mygroup
    state: present
    append: yes
    members: myuser
这个例子将把名为“myuser”的用户添加到名为“mygroup”的用户组中。如果该用户组不存在,则会创建该用户组。如果该用户组已经存在,则会将该用户添加到该用户组中。


十五、known_hosts模块

Ansible known_hosts模块用于管理SSH主机的known_hosts文件。该模块可以添加、删除或验证主机的公钥是否存在于known_hosts文件中。

以下是一些常见的用法:
添加主机公钥到known_hosts文件中:
- name: Add host key to known_hosts
  known_hosts:
    name: example.com
    key: "{{ lookup('file', '/path/to/public/key') }}"
删除主机公钥:
- name: Remove host key from known_hosts
  known_hosts:
    name: example.com
    state: absent
验证主机公钥是否存在于known_hosts文件中:
- name: Verify host key in known_hosts
  known_hosts:
    name: example.com
    key: "{{ lookup('file', '/path/to/public/key') }}"
    state: present
注意:known_hosts模块默认使用当前用户的known_hosts文件,如果需要使用其他用户的文件,可以使用remote_user参数指定。


十六、lineinfile模块

ansible lineinfile模块用于在文件中查找指定的行,并对其进行修改、添加或删除操作。

常用参数:

path:指定要操作的文件路径。
regexp:指定要查找的正则表达式。
line:指定要添加或修改的行内容。
state:指定要执行的操作,可选值为present(添加或修改)、absent(删除)。
backup:指定是否备份原文件,可选值为yes或no,默认为yes。
示例:

在/etc/hosts文件中添加一行记录:

- name: Add a line to /etc/hosts
  lineinfile:
    path: /etc/hosts
    line: "192.168.1.100   host1.example.com"
    state: present
在/etc/hosts文件中删除一行记录:

- name: Remove a line from /etc/hosts
  lineinfile:
    path: /etc/hosts
    regexp: "^192.168.1.100.*"
    state: absent


十七、lvg模块

Ansible的lvg模块用于管理Linux系统上的逻辑卷组(LVM)。它可以用于创建、删除、扩展和缩小逻辑卷组。

 


十八、lvol模块


十九、mount模块

Ansible的mount模块用于在Linux系统上挂载文件系统。它可以用于挂载本地文件系统、NFS共享、CIFS共享等。

下面是一个使用mount模块挂载本地文件系统的例子:

- name: Mount /dev/sdb1 to /mnt/data
  mount:
    path: /mnt/data
    src: /dev/sdb1
    fstype: ext4
    state: mounted
这个例子将/dev/sdb1文件系统挂载到/mnt/data目录下,并指定文件系统类型为ext4。state参数指定挂载状态,这里设置为mounted表示挂载。


二十、nmcli模块 


二十一、ping模块

临时命令:

ansible all -m ping -i inventory

模块内容:

ansible的ping模块用于测试主机是否可达的模块。它会向目标主机发送一个ping请求,如果目标主机能够响应,则返回pong,表示主机可达。

使用ping模块可以快速测试主机的连通性,以确保在执行其他任务之前,主机之间的网络连接是正常的。


二十二、package_facts模块

Ansible的package_facts模块是一个用于收集有关系统上已安装软件包的信息的模块。它可以收集有关软件包名称、版本、安装状态和依赖关系等方面的信息,并将其存储在Ansible变量中,以便在后续任务中使用。
使用package_facts模块可以方便地了解系统上已安装软件包的情况,从而更好地管理和维护系统。例如,可以使用它来检查系统上是否安装了特定的软件包,并根据需要执行安装或升级操作。

 以下是一个使用package_facts模块的示例:
- name: Collect package facts
  package_facts:
    manager: apt

- name: Check if package is installed
  debug:
    msg: "Package is installed"
  when: "'package-name' in ansible_facts.packages


二十三、parted模块 


二十四、register模块和debug模块

playbook示例:

register模块内容:

Ansible的register模块用于将任务执行的结果保存到变量中,以便后续任务使用。register模块可以将任务执行的结果保存到变量中,这些结果可以是命令输出、文件内容、任务状态等等。

debug模块内容:

Ansible的debug模块用于在playbook执行期间打印调试信息。它可以打印变量、模块输出、任务状态等信息,帮助我们更好地理解playbook的执行过程。


二十五、reboot模块

Ansible的reboot模块用于在远程主机上执行重启操作。它可以在执行其他任务之前或之后重启主机。

常用参数:
msg:重启时显示的消息,默认为“Reboot initiated by Ansible”。
pre_reboot_delay:重启前的延迟时间,单位为秒,默认为0。
post_reboot_delay:重启后的延迟时间,单位为秒,默认为0。
test_command:用于测试是否需要重启的命令,默认为“/usr/sbin/shutdown -r -F now”。
connect_timeout:连接超时时间,单位为秒,默认为10。
reboot_timeout:重启超时时间,单位为秒,默认为600。
示例:

yaml
- name: Reboot the server
  reboot:
    msg: "Reboot initiated by Ansible"
    pre_reboot_delay: 30
    post_reboot_delay: 60
    test_command: "/usr/sbin/shutdown -r -F now"
    connect_timeout: 20
    reboot_timeout: 300
这个示例将在远程主机上执行重启操作,并在重启前等待30秒,在重启后等待60秒。它将使用/usr/sbin/shutdown -r -F now命令测试是否需要重启,并在连接超时时间为20秒,重启超时时间为300秒。


二十六、setup模块

临时命令:

ansible localhost -m setup  | grep ansible_python_version

模块内容:

Ansible的setup模块是一个特殊的模块,它可以收集有关远程主机的各种信息,并将其存储在Ansible变量中。这些变量可以在后续任务中使用,以便更好地管理和配置远程主机。

setup模块可以收集的信息包括:

系统信息,如操作系统类型、版本、主机名、内核版本等。

硬件信息,如CPU型号、内存大小、磁盘容量等。

网络信息,如IP地址、MAC地址、网卡信息等。

软件信息,如已安装的软件包、服务状态等。

使用setup模块可以方便地了解远程主机的状态和配置,从而更好地管理和维护它们。


二十七、shell模块

临时命令:

模块内容:

ansible shell模块用于在远程主机上执行命令,与command模块类似,但是可以使用shell语法。它不同于command模块的地方在于,它可以使用管道、重定向和其他shell特性。需要注意的是,由于shell模块可以使用shell语法,因此在编写命令时需要特别小心,以避免潜在的安全问题。

command模块和shell模块的区别:

Ansible中的command和shell模块都可以用于在远程主机上执行命令,但它们之间有一些区别:

command模块只能执行简单的命令,而shell模块可以执行复杂的命令,包括管道、重定向和变量替换等。

command模块不会启动一个shell,而shell模块会启动一个shell来执行命令。

command模块返回命令的退出状态码,而shell模块返回命令的标准输出和标准错误输出。

因此,如果要执行简单的命令,建议使用command模块;如果要执行复杂的命令,建议使用shell模块。


二十八、sefcontext模块

ansible sefcontext模块用于管理SELinux文件上下文。它可以用于添加、修改和删除文件上下文规则。

 
常用参数:

path:指定文件或目录的路径。
setype:指定文件或目录的SELinux类型。
serange:指定文件或目录的SELinux范围。
seuser:指定文件或目录的SELinux用户。
state:指定文件或目录的SELinux状态,可以是present(存在)、absent(不存在)或reset(重置)。


二十九、stat模块

Ansible的stat模块用于获取文件或目录的状态信息,例如文件的大小、权限、所有者、修改时间等。它可以用于检查文件或目录是否存在、是否具有特定的权限等。

使用示例:

检查文件是否存在:
- name: Check if file exists
  stat:
    path: /path/to/file
  register: file_stat

- name: Print file size
  debug:
    var: file_stat.stat.size
检查目录是否存在:
- name: Check if directory exists
  stat:
    path: /path/to/directory
  register: dir_stat

- name: Print directory owner
  debug:
    var: dir_stat.stat.uid
检查文件是否具有特定的权限:
- name: Check file permissions
  stat:
    path: /path/to/file
  register: file_stat

- name: Print file permissions
  debug:
    var: file_stat.stat.mode
检查文件是否是软链接:
- name: Check if file is a symlink
  stat:
    path: /path/to/file
  register: file_stat

- name: Print symlink target
  debug:
    var: file_stat.stat.link_target
注意事项:

stat模块返回的状态信息可以通过register关键字保存到变量中,以便后续使用。
stat模块支持的参数包括path、follow、get_checksum、get_md5、get_mime、get_attributes等,具体用法可以参考官方文档。


三十、synchronize模块

Ansible的synchronize模块用于将本地文件或目录与远程主机上的文件或目录同步。它使用rsync协议进行同步,可以在本地和远程主机之间复制文件和目录,并确保它们保持同步。

synchronize模块的语法如下:

- name: Synchronize local directory with remote directory
  synchronize:
    src: /path/to/local/directory
    dest: /path/to/remote/directory
其中,src指定本地目录的路径,dest指定远程主机上的目录路径。除此之外,还可以使用其他选项来控制同步行为,例如:

mode:指定同步模式,可以是pull(从远程主机拉取文件)或push(将本地文件推送到远程主机)。
compress:指定是否启用压缩传输。
delete:指定是否删除目标目录中不存在于源目录中的文件。
rsync_opts:指定传递给rsync命令的其他选项。
例如,以下示例将本地目录/path/to/local/directory同步到远程主机上的/path/to/remote/directory目录,并启用压缩传输和删除目标目录中不存在于源目录中的文件:

- name: Synchronize local directory with remote directory
  synchronize:
    src: /path/to/local/directory
    dest: /path/to/remote/directory
    mode: push
    compress: yes
    delete: yes
需要注意的是,synchronize模块需要在远程主机上安装rsync命令。如果远程主机上没有安装rsync,则需要使用raw模块或其他方法来安装它。


三十一、script模块

Ansible的script模块允许在远程主机上执行本地脚本。它可以用于在远程主机上执行任何可执行文件,包括bash脚本、Python脚本、Perl脚本等。使用script模块时,需要将本地脚本文件复制到远程主机上,并在远程主机上执行该脚本。它可以用于在远程主机上执行任何可执行文件,包括bash脚本、Python脚本、Perl脚本等。
使用script模块时,需要将本地脚本文件复制到远程主机上,并在远程主机上执行该脚本。可以使用Ansible的copy模块将脚本文件复制到远程主机上,然后使用script模块执行该脚本。

以下是一个使用script模块执行本地脚本的示例:
- name: Execute local script on remote host
  hosts: webserver
  tasks:
    - name: Copy script to remote host
      copy:
        src: /path/to/local/script.sh
        dest: /tmp/script.sh
        mode: 0755
    - name: Execute script on remote host
      script: /tmp/script.sh
在上面的示例中,首先使用copy模块将本地脚本文件复制到远程主机的/tmp目录下,并将其设置为可执行文件。然后使用script模块执行该脚本。


三十二、systemd模块

Ansible的systemd模块用于管理systemd服务。它可以启动、停止、重启、重新加载、启用和禁用systemd服务。

常用参数:
name:服务名称。
state:服务状态,可以是started(启动)、stopped(停止)、restarted(重启)、reloaded(重新加载)、enabled(启用)和disabled(禁用)。
enabled:是否在系统启动时自动启用服务,可以是yes或no。
masked:是否屏蔽服务,可以是yes或no。
daemon_reload:是否重新加载systemd守护进程配置文件,可以是yes或no。
示例:

启动服务:
- name: Start nginx service
  systemd:
    name: nginx
    state: started


三十三、template模块

Ansible的template模块用于在远程主机上生成文件,它可以将本地主机上的模板文件渲染为目标主机上的文件。模板文件可以包含变量、条件语句、循环语句等,这样可以根据不同的情况生成不同的文件。

使用template模块的步骤如下:

在本地主机上创建模板文件,可以使用Jinja2模板语言编写模板文件。

在Ansible playbook中使用template模块,指定模板文件和目标文件的路径。

在模板文件中使用变量、条件语句、循环语句等,根据需要生成目标文件。

示例:

在本地主机上创建一个名为nginx.conf.j2的模板文件,内容如下:

worker_processes {{ nginx_worker_processes }};
pid /run/nginx.pid;

events {
    worker_connections {{ nginx_worker_connections }};
}

http {
    server {
        listen {{ nginx_listen }};
        server_name {{ nginx_server_name }};
        root {{ nginx_root }};
        index index.html;
    }
}
在Ansible playbook中使用template模块,指定模板文件和目标文件的路径:

- name: Generate nginx configuration file
  template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf
在模板文件中使用变量、条件语句、循环语句等,根据需要生成目标文件。在这个例子中,我们使用了一些变量,如nginx_worker_processes、nginx_worker_connections、nginx_listen、nginx_server_name和nginx_root,这些变量可以在Ansible playbook中定义。


三十四、user模块

命令行用法:

ansible all -i inventory -m user -a 'name=newbie  uid=4000 state=present'

运行user模块之前:

运行user模块之后:

模块内容:

Ansible的user模块用于管理系统用户,可以创建、修改和删除用户。以下是user模块的一些常用参数:

name:指定用户的名称。
uid:指定用户的UID。
password:指定用户的密码。
group:指定用户所属的组。
groups:指定用户所属的附加组。
shell:指定用户的默认shell。
home:指定用户的主目录。
state:指定用户的状态,可以是present(存在)、absent(不存在)、locked(锁定)或unlocked(解锁)。
下面是一个使用user模块创建用户的例子:

- name: Create user
  user:
    name: john
    password: "{{ 'password' | password_hash('sha512') }}"
    state: present
这个例子创建了一个名为john的用户,密码为password,并将其状态设置为present(存在)。注意,密码使用了password_hash过滤器进行哈希处理,以保证安全性。


三十五、uri模块

运行playbook:

ansible-playbook  site.yml

模块内容:
ansible uri模块用于发送HTTP、HTTPS、FTP、SCP、SFTP和FILE请求。它可以用于从远程服务器下载文件、上传文件、发送POST请求等。ansible URI模块常用参数如下:

url: 必需,指定要访问的URL。
method: 可选,指定HTTP请求方法,默认为GET。
headers: 可选,指定HTTP请求头。
body: 可选,指定HTTP请求体。
status_code: 可选,指定期望的HTTP响应状态码,默认为200。
timeout: 可选,指定HTTP请求超时时间,默认为30秒。
validate_certs: 可选,指定是否验证SSL证书,默认为True。
return_content: 可选,指定是否返回HTTP响应内容,默认为True。
follow_redirects: 可选,指定是否跟随重定向,默认为True。
user: 可选,指定HTTP基本认证的用户名。
password: 可选,指定HTTP基本认证的密码。
force_basic_auth: 可选,指定是否强制使用HTTP基本认证,默认为False。
client_cert: 可选,指定客户端SSL证书路径。
client_key: 可选,指定客户端SSL证书私钥路径。
client_cert_password: 可选,指定客户端SSL证书密码。


三十六、yum模块和service模块

运行playbook:

ansible-playbook  site.yml --become

yum模块内容:

Ansible的yum模块是用于在远程主机上安装、升级、删除和查询软件包的模块。它使用yum包管理器来执行这些操作。以下是一些常用的yum模块的参数:

name:指定要安装的软件包名称。
state:指定软件包的状态,可以是present(已安装)、absent(未安装)、latest(安装最新版本)。
update_cache:是否更新缓存,默认为yes。
disable_gpg_check:是否禁用GPG检查,默认为no。
enablerepo:指定要启用的仓库。
disablerepo:指定要禁用的仓库。
installroot:指定安装软件包的根目录。
exclude:指定要排除的软件包。
skip_broken:是否跳过损坏的软件包,默认为no。
security:是否只安装安全更新,默认为no。
bugfix:是否只安装错误修复更新,默认为no。
enhancement:是否只安装增强更新,默认为no。
group_package_types:指定要安装的软件包类型,可以是mandatory、default、optional、conditional。
timeout:指定超时时间,默认为30秒。

service模块内容:

Ansible的service模块用于管理系统服务。它可以启动、停止、重启、重新加载、检查状态等等。以下是一些常用的参数:

name:服务名称。
state:服务状态,可以是started(启动)、stopped(停止)、restarted(重启)、reloaded(重新加载)等。
enabled:是否在系统启动时自动启动服务,可以是yes或no。
pattern:用于匹配服务的正则表达式。
sleep:在执行操作之前等待指定的秒数。
timeout:等待服务启动或停止的最长时间,以秒为单位。
arguments:启动服务时传递的参数。
runlevel:服务应该在哪个运行级别下启动。


三十七、yum_repository模块

ansible yum_repository模块用于管理yum仓库,可以添加、删除、修改yum仓库。

常用参数:

name:仓库名称,必填参数。
description:仓库描述。
baseurl:仓库地址,必填参数。
gpgcheck:是否检查GPG签名,默认为yes。
enabled:是否启用该仓库,默认为yes。
gpgkey:GPG密钥地址。
sslverify:是否验证SSL证书,默认为yes。
state:仓库状态,present表示存在,absent表示不存在。
示例:

添加一个yum仓库:

- name: Add yum repository
  yum_repository:
    name: epel
    description: EPEL YUM repo
    baseurl: https://dl.fedoraproject.org/pub/epel/7/x86_64/
    gpgcheck: no
    enabled: yes
 


三十八、 常用模块汇总:

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

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

相关文章

基于pytorch+transformers的车牌识别

目录 程序流程设计熟悉训练数据集CCPD2019数据集CCPD数据集标注信息单例再现 加载本地车牌数据集 程序流程设计 1,熟悉训练数据集; 2,加载本地车牌数据集; 3,定义网络模型; 4,输入数据集训练模…

关于复杂事件处理和事件驱动架构的争论

复杂事件处理(Complex Event Processing,CEP)系统和事件驱动架构(Event Driven Architecture,EDA)都被认为会在目前和未来的精致繁杂的系统设计中扮演重要角色。但是它们的角色是什么?会对业界产…

初识vue-模板

目录 模板语法 模板插值 指令 条件渲染(v-if ;v-show) 列表循环(v-for) ref JSX(render渲染) 条件渲染 列表渲染 八皇后框架-背景格(循环) 模板语法 Vue.js使用了…

Vue3+Element Plus环境搭建和一键切换明暗主题的配置

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。而Element Plus是一款基于Vue3面向设计师和开发者的组件库。 最终效果: 环境搭建 已安装 16.0 或更高版本的 Node.js,终端: npm init vuelatest这一…

智慧校园系统平台实现校内导航资产管线一体化管理

构建智慧校园系统平台是国家和大专院校共同倡议的校园信息化建设方向,是运用物联网技术搭建的一体化综合平台,基于各种应用服务系统,把学校的教务、办公、教学、学习、管理、资产、校园安全、安防、消防等各个环节融为一体,提高学…

MATLAB算法实战应用案例精讲-【人工智能】对比学习(概念篇)(补充篇)

目录 前言 几个高频面试题目 基于对比学习(ContrastiveLearning)的文本表示模型【为什么】能学到文本【相似】度? 为什么对比学习能学到很好的语义相似度? 那么如何评价这个表示空间的质量呢? 知识储备 监督学习和非监督学习 算法原理…

Web开发人员的10个数据库优化最佳实践

数据库优化已经成为web开发人员提高web应用程序性能,从而改善用户体验的关键。对一些人来说,这可能听起来不太吸引人,但如果能正确地优化数据库,就可以提高性能、减少瓶颈并节省资源。 幸运的是,有些优化技术在sql查询…

sqlserver object_id()函数学习

在SQLServer数据库中,如果查询数据库中是否存在指定名称的索引或者外键约束等,经常会用到object_id(name,type)方法, 语法:object_id(objectname)或object(objectname,type) 作用:该函数会返回指定对象的ID值&#xf…

springboot 整合ehchace 缓存教程

ehcache介绍 Ehcache是一种高性能、开源的Java缓存框架,被广泛应用于许多大规模、高并发的分布式系统中。它提供了一种快速、可扩展、分布式的数据缓存方案,支持各种内存级别的缓存、磁盘级别的缓存、分布式缓存等。Ehcache设计目标主要是提供高性能和可…

【LeetCode】198.打家劫舍

198.打家劫舍(中等) 思路 定义数组 dp, dp[i] 表示抢劫到第 i 个房子的时候,可以抢劫的最大数量。dp[i] 有两种可能:一种是我们选择不抢劫这个房子,此时累积金额为 dp[i-1] ;另一种是我们选择抢…

儿童用灯哪个品牌好?推荐专业的儿童护眼台灯

一款好的儿童台灯,主要是从5个方面决定,照度及均匀度,蓝光,色温,显指,频闪 ① 照度及均匀度最高是国AA级,其次就是国A级 ② 蓝光一定要选择RG0无危险级,蓝光能量最强,…

给你安利一款不需要魔法就能免费使用的idea插件Bito-ChatGPT

一款不需要魔法就能免费使用的idea插件Bito-ChatGPT 一 、写在前面二、Bito是什么? 🔑🔑 **What does Bito AI do?**三 、安装Bito四、使用Bito4.1 创建个人工作空间4.2 使用Bito4.2.1 问任何技术问题(Ask any technical questio…

端口聚合与Hash算法

目录 前言 一、Hash算法简介 二、负载分担 1.逐流负载分担 2.逐包负载分担 三、Hash算法与负载分担 1.转发原理 四、堆叠情况下的负载分担 五、配置流程 前言 提示:关于Hash与负载分担方式 提示:以下是本篇文章正文内容,下面案例可供…

Win11电脑桌面的图标变成白色了怎么解决?

Win11电脑桌面的图标变成白色了怎么解决?有用户将自己的电脑开机之后,出现了桌面图标变成白色的情况,虽然软件还是可以正常的打开,但是图标消失了看起来非常的不习惯,那么这个问题要怎么去解决呢?来看看以下…

PP825A 3BSE042240R3转换为后备控制系统和控制系统中的报警系统

​ ​ PP825A 3BSE042240R3转换为后备控制系统和控制系统中的报警系统 步进系统(Stepper motor)的优缺点是什么 步进电机-直流电流产生磁场。它是恒流系统。由于转子极数,扭矩随速度下降。 步进电机的优点 设计简单 控制简单 出色的低速扭矩…

德国 DocuWare 文档管理软件平台

DocuWare 是一个先进的平台,可让您集中、快速、有效地管理、处理和利用业务信息。 我们的文档管理和工作流程解决方案的各项功能可以集成到任何 IT 系统中,可以数字化任何部门的手动或纸质业务流程。提高您公司的生产力,让您的团队更轻松地完…

Matlab与ROS---TF坐标系(七)

0. 简介 我们上面讲了最基础的通信机制以及在Matlab中如何使用这些通信,下面我们这一讲来主要介绍ROS当中最常用的TF坐标系在Matlab中的使用。tf是分布式的,因此所有的坐标帧信息对ROS网络中的每个节点都是可用的。所以这一节就是带领读者熟悉该怎么在M…

gpt人工智能写论文怎么样-chatGTP如何写论文

用gpt写论文怎么样 使用 GPT 写论文具体的操作方法因人而异,但可以提供一些建议: 充分理解论文的题目、主题和结构,并确定论文所需的内容和方向。 针对论文的不同部分,使用 GPT 模型进行自动化生成或补充,例如摘要、…

Android签名 一 查看签名信息

你可能想知道 通过这篇文章可以解决哪些问题以及学到什么: 1.如果我们有一个应用,如何查看应用的签名信息? 2.如果我们有签名原始文件,如何查看签名文件中的签名信息? 这篇文章介绍了如何查看应用和签名文件中的签名信…

DiskGenius硬盘分区及数据恢复软件

目录 一、DiskGenius介绍 二、DiskGenius下载 三、DiskGenius功能 1、软件详细教程 2、将空闲空间合并到现有分区 3、无损扩容分区 4、注意事项: 一、DiskGenius介绍 DiskGenius是一款硬盘分区及数据恢复软件。它是在最初的DOS版的基础上开发而成的。Window…