web-dev-qa-db-ja.com

ansibleを使用してSUSELinuxにjdkをインストールするにはどうすればよいですか?

Ansibleを使用してSUSELinuxを実行しているVMの1つにJavaをインストールする必要があります。

以下は、私が使用しているプレイブックコードです。

- name: Download Java
  become_user: "{{user}}"
  command: "wget -q -O {{Java_archive}} --no-check-certificate --no-cookies --header 'Cookie: oraclelicense=accept-securebackup-cookie' {{download_url}} creates={{Java_archive}}"

- name: Fix ownership
  become_user: "{{user}}"
  file: state=directory path={{Java_name}} owner={{user}} group={{user}} recurse=yes

- zypper: name={{download_folder}}/jdk-8u5-linux-x64.rpm become_user={{user}} state=present

- name: Clean up
  become_user: "{{user}}"
  file: state=absent path={{Java_archive}}

私が直面している問題は、インストーラーがインストール中にいくつかの相互作用を必要とすることです。それを自動化するにはどうすればよいですか?または、これを達成する他の方法はありますか?

interaction screen without ansible

コメントで要求されているように、ansibleなしでインストールしようとすると次のメッセージが表示されます。

4
Abhishek Sharma

ansible-doc zypperから:

- oldpackage
        Adds `--oldpackage' option to `zypper'. Allows to downgrade packages
        with less side-effects than force. This is implied as soon as a
        version is specified as part of the package name.
        (Choices: yes, no)[Default: no]

oldpackage=yesを試してみてください。それでも問題が解決しない場合は、より積極的なforce=yesオプションを使用できます。

1
ctx