2014-04-13 48 views
2

我以前沒有使用過Ansible,有誰知道如何編寫一個簡單的手冊來卸載nano並在Linux服務器上安裝vim嗎?我想你會需要包括一個選項來配置你想要的文本編輯器偏好後,上述做。Ansible playbooks

乾杯

編輯

這是我這麼遠......

--- 
# Playbook to uninstall nano and install vim 

    - hosts: all 
    remote_user: luca 
    sudo: yes 

    tasks: 
    - name: uninstall nano 
    action: command: sudo apt-get purge nano 

    - name: Install vim 
    action: command: sudo apt-get install vim 
+1

大多數Linux發行版都包含nano和Vim。這兩位文本編輯者一直在一起愉快地生活了很長一段時間,所以你試圖解決什麼問題? – romainl

+0

@romainl這只是一個任務,我已經被設置爲工作應用程序的測試的一部分,我有點努力去理解Ansible,以及它如何翻譯像'sudo apt-get purge nano'這樣的例子。 – tipyn

+1

除了你沒有使用'apt'模塊,正如在下面的答案中所建議的那樣,在你的示例'tasks'中,縮進是不正確的。 'tasks'應該和'hosts'一樣縮進。 –

回答

14

tmp.yml

--- 
- hosts: all 
    tasks: 
    - name: nano remove 
    apt: name=nano state=absent 
    - name: vim install 
    apt: name=vim state=present 

ansible-TMP劇本。 yml

+1

這真了不起。非常感謝。我一直在寫它,但我有完全不同的東西。在原始問題中查看我的編輯^ – tipyn

+0

您是否介意解釋我試圖做的事情? – tipyn

+1

你不使用可靠的apt或yum模塊,你也可以用你的方法來做,只使用命令模塊,但它不是正確的方法。檢查模塊。不。 –

0

如果你在工作的Fedora/CentOS的/ RHEL:

---  
    - hosts: all 
     tasks: 
     - name: nano remove 
     yum: name=nano state=absent 
     - name: vim install 
     yum: name=vim state=latest 

參考doc of yum module。爲「狀態」設置適當的參數:安裝(存在或安裝,最新)或刪除(不存在或刪除)包。

0

如果你想刪除,並命令來安裝,你必須寫不「行動」,像這樣:

tasks: 
    - name: uninstall nano 
    command: sudo apt-get purge nano 

    - name: Install vim 
    command: sudo apt-get install vim 

但不建議這樣做,這是更好地與「缺席」這樣做。 而且我不確定是否可以放入sudo,因此您可以直接與root用戶連接。

- hosts: all 
    remote_user: root 
    sudo: True 
0

我個人覺得它更乾淨,有一個安裝循環。對於卸載只需更改「狀態」

hosts: desktop-linux 
tasks: 
- name: Install Desktop packages 
    apt: name={{item}} state=installed 
    with_items: 
    - meld 
    - synergy 
    - retext 
    - pidgin 
    - steam 
    - ubuntu-restricted-extras 
    - nautilus-admin 
    - unity-tweak-tool 
    - vlc