首页 文章

使用ansible安装特定的apt版本

提问于
浏览
11

我使用ansible playbook来安装git:

---
- hosts: "www"
  tasks:
  - name: Update apt repo
    apt: update_cache=yes
  - name: Install dependencies
    apt: name={{item}} state=installed
    with_items:
      - git

我检查了安装的版本:

$ git --version
git version 1.9.1

但是将这些添加到ansible剧本中:

apt: name=git=1.9.1 state=installed

并重新运行导致以下错误:

致命:[46.101.94.110]:失败! => {“cache_update_time”:0,“cache_updated”:false,“changed”:false,“failed”:true,“msg”:“'/ usr / bin / apt-get -y -o \”Dpkg :: Options :: = - force-confdef \“ - o \”Dpkg :: Options :: = - force-confold \“install'git = 1.9.1''失败:E:版本'1.9.1'代表' git'找不到\ n“,”stderr“:”E:版本'1.9.1'找不到'git'\ n“,”stdout“:”读取包列表...... \ n构建依赖关系树.. . \ n读取状态信息... \ n“,”stdout_lines“:[”读取包列表......“,”构建依赖关系树......“,”读取状态信息......“]}

2 回答

  • 2

    具有该特定版本的Git包如下:

    git=1:1.9.1-1ubuntu0.2
    

    你的任务应该是:

    apt: name=git=1:1.9.1-1ubuntu0.2 state=installed
    

    问候

  • 13

    更新缓存和安装不需要两个任务 . 你的剧本应该是这样的:

    ---
    - hosts: "www"
      tasks:
      - name: Install dependencies
        apt: name={{item}} state=installed update_cache=yes
        with_items:
          - git=1:1.9.1-1ubuntu0.2
    

    请注意Ansible支持通配符,因此您不一定需要完整版本字符串

相关问题