2016-03-24 11 views
1

問題:パッケージをインストールしようとすると、実行できません。 CLIはアイドル状態のままです。不可能なパッケージをインストールできない

SSHはパスワードの入力を求めるプロンプトで接続するように設定されています。私は、「テスト」というユーザーを作成しているし、私のsudoersファイルには、次の設定があります:私は、ユーザーの「テスト」として

test ALL=(ALL)  NOPASSWD:ALL 

また/etc/ansible/ansible.cfgで

inventory  = /etc/ansible/hosts 
#library  = /usr/share/my_modules/ 
remote_tmp  = $HOME/.ansible/tmp 
pattern  = * 
forks   = 5 
poll_interval = 15 
sudo_user  = root 
#ask_sudo_pass = True 
#ask_pass  = True 
transport  = smart 
#remote_port = 22 module_lang = C 

yum install lynx 

指定されたパッケージがインストールされます。 しかし、私が行う場合

ansible local -s -m shell -a 'yum install lynx' 

何も起こりません。

私はあなたがYUMに "はい" と言っている

+1

[これがyumモジュールが存在する理由](https://docs.ansible.com/ansible/yum_module.html)です。 – tedder42

+0

@Samはホストの下になるだけで十分です。 - hosts::Trueタスク: - name:install lynx register:結果 'become'私が間違っていないと通常はboolが必要なので、インストール全体がroot特権になります – qubsup

答えて

2

:(何が起こっているのかわからない:

代わりにこれを試してみてください:

ansible local -s -m shell -a 'yum install lynx -y' 
2

が代わりにyumをモジュールを使用してみてください:

ansible local -s -m yum -a 'name=lynx state=present' 
0

yumモジュールを使用するか、さらにはpackage OS汎用モジュールです。

一方、他のオプションはノードに対してSSH-dirtyコマンドを実行するrawモジュールです。

これはタスクpackageモジュールを使用するための例である:上記の脚本を使用して

---- 
- hosts: <hosts_names> 
    sudo: yes 
    tasks: 
    - name: install lynx 
    register: result 
    package: name=lynx state=latest 
    become: yes 
    become_user: root 
    become_method: sudo 
    ignore_errors: True 

、願わくはあなたが「、あなたに目的のパッケージをインストールすると、それはそれをしなかった場合にも役立ちます変数resultを簡単に調べて、何がうまくいかないかを確認できます。

もちろん、これらのすべての前に、YUMリポジトリが正しく動作することを確認しておく必要があります。

関連する問題