【问题标题】:wget|sudo fails in Ansible commandwget|sudo 在 Ansible 命令中失败
【发布时间】:2014-12-27 22:09:36
【问题描述】:

我正在尝试编写一个简单的 ansible 脚本来安装最新的 clang / llvm 工具链,但我无法运行第二条语句。

它基于:http://llvm.org/apt/ for ubuntu

---
- name: add llvm toolchain repo for {{ ubuntu_version }}
   apt_repository: repo='deb http://llvm.org/apt/{{ubuntu_version }}/ llvm-toolchain-{{ ubuntu_version }} main'
   sudo: yes

- name: add key toolchain (does not work)
  command: wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
  sudo: yes

- name: install llvm and clang
  apt: pkg={{item}} state=latest update_cache=yes
  with_items: clang_packages
  sudo: yes

任何人都知道可能是什么问题。如果我在命令行手动运行“wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key #add -”,它会起作用

干杯, 迈克

【问题讨论】:

  • # 是 YAML 语法中的注释。也许就是这样?
  • 你最好用 apt_key 模块替换整个 wget 行:docs.ansible.com/apt_key_module.html
  • @Mikko 这是一个错字。已更正。

标签: clang wget ansible


【解决方案1】:

引用module documentation:

它不会通过shell处理,所以像$HOME这样的变量和像“”、“|”和“&”这样的操作将不起作用(如果你需要这些功能,请使用shell模块)

【讨论】:

    【解决方案2】:

    根据 mgsk 和 Slava 的回复,我已经重写了我的脚本以使用

    - name: add key toolchain
      apt_key: url=http://llvm.org/apt/llvm-snapshot.gpg.key state=present
      sudo: yes
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-12
      • 2020-11-15
      • 2020-03-28
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多