Postgresql 如何在Ansible中定义要安装的软件包版本
我正在使用Ansible,我想在main.yml任务中定义包的版本。我正在尝试安装postgresql-9.1版本:Postgresql 如何在Ansible中定义要安装的软件包版本,postgresql,postgresql-9.1,ansible,ansible-playbook,Postgresql,Postgresql 9.1,Ansible,Ansible Playbook,我正在使用Ansible,我想在main.yml任务中定义包的版本。我正在尝试安装postgresql-9.1版本: --- - name: Copy source list copy: src=sources.list dest=/etc/apt/sources.list - name: Update apt shell: apt-get update - name: Install the version 9.1 of postgresql sudo: True apt:
---
- name: Copy source list
copy: src=sources.list dest=/etc/apt/sources.list
- name: Update apt
shell: apt-get update
- name: Install the version 9.1 of postgresql
sudo: True
apt: name=postgresql=9.1 state=present
- name: Ensure postgresql is << Started >>
sudo: yes
sudo_user: postgres
service: name=postgresql state=started
那么,如何声明要安装的软件包版本?您正在正确使用
apt
模块来指定版本。这也会在命令行中失败,使用apt get install postgresql-9.1
。您尚未显示来源中的内容。请列出,但他是这样做的:
- apt_key: id=ACCC4CF8 url=https://www.postgresql.org/media/keys/ACCC4CF8.asc state=present
- apt_repository: repo='deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' update_cache=yes state=present
- name: Install the version 9.1 of postgresql
apt: name=postgresql=9.1 state=present
告诉我:failed:[default]=>{“cmd”:“apt key add-”,“failed”:true,“rc”:2}
,知道为什么吗?,thanks@AlfonsoP埃雷斯,你是在用那四行吗?如果没有,请发布您的任务。是的,通过添加sudo:yes
,该特定问题已得到解决,现在我有了:-apt\u key:id=accc4cf8url=https://www.postgresql.org/media/keys/ACCC4CF8.asc 状态=当前sudo:yes-apt_存储库:repo='debhttp://apt.postgresql.org/pub/repos/apt/ trusty pgdg main'update_cache=yes state=present sudo:yes-name:Install版本9.1的postgresql sudo:yes apt:name=postgresql=9.1state=present
但获取:msg:'/usr/bin/apt get-y-o“Dpkg::Options::=--force confdef“-o”Dpkg::Options::[…]1''失败:未找到“postgresql”的版本“9.1”
- apt_key: id=ACCC4CF8 url=https://www.postgresql.org/media/keys/ACCC4CF8.asc state=present
- apt_repository: repo='deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' update_cache=yes state=present
- name: Install the version 9.1 of postgresql
apt: name=postgresql=9.1 state=present