ansible - 如何使用 Ansible 挂载 fstab 上列出的所有分区

标签 ansible

在使用 Ansible 的 lineinfile 模块将多个挂载点添加到 /etc/fstab 之后,我想运行一个简单的 mount -a 使这些生效。

它确实适用于

  - name: mount all
    command: mount -a
    become: true

然而ansible坚持建议使用mount模块

[WARNING]: Consider using mount module rather than running mount

但据我所知,没有简单的选择可以做到这一点。

我错过了什么吗?

最佳答案

你是对的,当前版本的 Ansible 中的 mount 模块以每次挂载为基础工作,不允许挂载 /etc/fstab 中定义的所有文件系统.您执行任务的方式是正确的。

您在输出中看到的是警告:

[WARNING]: Consider using mount module rather than running mount

Ansible 检查您是否正在通过 command 模块运行 mount 命令,并建议使用 native 模块。

Ansible 不会执行高级语法分析来验证您在命令调用中使用的特定参数集是否可以使用 native 模块参数来实现。

通过将 warn 参数设置为 no<,您可以针对每个任务禁用 shellcommand 模块的警告:

- name: mount all
  command: mount -a
  args:
    warn: no
  become: true

关于ansible - 如何使用 Ansible 挂载 fstab 上列出的所有分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41292850/

相关文章:

linux - 使用 ansible 查找和复制文件

windows - 使用安装在 WSL 上的 Ansible 设置 Windows 10 工作站

amazon-web-services - 我如何在标签中的 Amazon EC2 过滤器中使用正则表达式

ssh - Ansible SSH 转发似乎不适用于 Vagrant

ansible - 我怎样才能减慢ansible的速度?

python - 如何使用 Jinja2 将静态项附加到字典

python - 如何从 Ansible list 文件中获取主机列表?

Ansible - 在远程服务器中读取文件并使用输出替换配置文件中的一行

java - 使用 application.yml 在外部目录启动时未拾取 Spring Boot 外部配置

用于在 Ansible 的特定输出中获取用户及其组的 Linux 命令