2016-03-23 13 views
4

Rocketをインストールしてリモート(RedHat 6.x)システムにRubyのアップデート版をインストールしようとしています。私は2つの別々のAnsible-RVMプレイブック(rvm/rvm1-ansiblenewmen/ansible-rvm)を試しましたが、どちらも同じ動作を示します:プレイリストがRVMにRubyをインストールするよう指示してから、プロセスをキャンセルするまでストールします:Rubyインストール時に対話型プロンプトでRVMがユーザ名を要求する

TASK: [ansible-rvm | installing Ruby as root] 
********************************* 
<HOST.DOMAIN.xyz> 
<HOST.DOMAIN.xyz> 
<HOST.DOMAIN.xyz> IdentityFile=/Users/USER/.ssh/private-key-file ConnectTimeout=10 PasswordAuthentication=no KbdInteractiveAuthentication=no ControlPath=/Users/USER/.ansible/cp/ansible-ssh-%h-%p-%r PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey ControlMaster=auto ControlPersist=60s 
<HOST.DOMAIN.xyz> 
<HOST.DOMAIN.xyz> IdentityFile=/Users/USER/.ssh/private-key-file ConnectTimeout=10 'sudo -k && sudo -H -S -p "[sudo via ansible, key=KEY] password: " -u root /bin/sh -c '"'"'echo SUDO-SUCCESS-KEY; LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python /home/USER/.ansible/tmp/ansible-tmp-dir/command; rm -rf /home/USER/.ansible/tmp/ansible-tmp-dir/ >/dev/null 2>&1'"'"'' PasswordAuthentication=no KbdInteractiveAuthentication=no ControlPath=/Users/USER/.ansible/cp/ansible-ssh-%h-%p-%r PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey ControlMaster=auto ControlPersist=60s 
^CERROR: interrupted 

原因は、RVMが何らかの種類のログイン情報を要求しているようです。私は手動でRVMを実行するために、問題のホストにSSHで接続すると、私はプロンプトUsername:を得る:

$ rvm install ruby-2.2.2 
Searching for binary rubies, this might take some time. 
No binary rubies available for: redhat/6/x86_64/ruby-2.2.2. 
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies. 
Checking requirements for redhat. 
Enabling optional repository 
Username: ^C 
User interrupted process. 

上記にかかわらず、rvmコマンドがsudo下で実行されているかどうかの発生します。

私はRVMが要求しているログイン/ユーザ名や、対話性を無効にするために適用できるフラグや設定に関する説明を見つけることができませんでした。実際には、私はRVMと関連してこのログインプロンプトへの参照を見つけていません。誰もこの問題を以前に遭遇しましたか?

+1

あなたはRVMまたはユーザーローカルのシステム全体のインストールを実行しようとしていますか?システム全体では 'sudo'アクセスが必要です。 RVMの保守担当者が推奨する[インストールコマンド](https://rvm.io/rvm/install)を使用していますか?以前の会話では、RVMをインストールするユーザーローカルバージョンを推奨しました。 –

+0

CentOS7でrvm_io.rvm1-rubyに問題はありません。私は最初に/ usr/local/binを作って動作させなければならなかった。決してユーザー名を聞かないでください。 – udondan

答えて

0

理由は、rvmがシステム要件をインストールしようとしているため、sudoのパスワードを入力する必要があるからです。

私はUbuntuの中に私のためにこのcommit

Worksでrvm1-ansible hereの私のフォークでこれを修正しました。

--- 
- name: Configure servers with ruby support for single user 
    hosts: newservers 
    become: yes 

    roles: 
    - { role: rvm_io.ruby, 
     tags: ruby, 
     rvm1_rubies: [2.3.3], 
     rvm1_user: 'sudouser', 
     rvm1_install_flags: '--auto-dotfiles --user-install', 
     rvm1_install_path: '/home/{{ ansible_user }}/.rvm', 
     } 

起動には、sudoユーザーとタスク:

ansible-playbook -i hosts.ini ruby_script.yml --user sudouser --ask-sudo-pass 
関連する問題