1
我正在使用Ansible,並且想要在main.yml任務中定義軟件包的版本。我試圖安裝PostgreSQL-9.1版本:如何在Ansible中定義要安裝的軟件包版本
---
- 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
但我得到這個錯誤:
PLAY [database] ***************************************************************
GATHERING FACTS ***************************************************************
ok: [slave1]
TASK: [postgresql | Copy source list] *****************************************
ok: [slave1]
TASK: [postgresql | Update apt] ***********************************************
changed: [slave1]
TASK: [postgresql | Install the version 9.1 of postgresql] ********************
failed: [slave1] => {"failed": true}
stderr: E: Version '9.1' for 'postgresql' was not found
stdout: Reading package lists...
Building dependency tree...
Reading state information...
msg: 'apt-get install 'postgresql=9.1' ' failed: E: Version '9.1' for 'postgresql' was not found
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/robe/site.retry
slave1 : ok=3 changed=1 unreachable=0 failed=1
然後,我如何申報軟件包版本安裝?
給予我:''失敗:[默認] => {「CMD」:「易鍵添加 - 」,「失敗「:真,」rc「:2}'',任何想法,爲什麼這是?,謝謝 – 2015-05-25 18:33:31
@AlfonsoPérez你使用這些確切的四行?如果沒有,發佈你的任務。 – tedder42 2015-05-25 22:53:17
是的,那個特定的問題已經解決了,加入'sudo:yes',所以現在我有:' - apt_key:id = ACCC4CF8 url = https://www.postgresql.org/media/keys/ACCC4CF8.asc state = present 須藤:是 - apt_repository:回購= 'DEB http://apt.postgresql.org/pub/repos/apt/可信任-pgdg主' update_cache =是狀態=本 須藤:是 - 名稱:安裝版本9.1的postgresql sudo:是 apt:name = postgresql = 9.1 state = present' 但得到:'msg:'/ usr/bin/apt-get -y -o「Dpkg :: Options :: = -force-confdef「-o」Dpkg :: Options :: [...] 1「失敗:E:找不到'postgresql'的版本'9.1' – 2015-05-25 22:57:48