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}}
私が直面している問題は、インストーラーがインストール中にいくつかの相互作用を必要とすることです。それを自動化するにはどうすればよいですか?または、これを達成する他の方法はありますか?
コメントで要求されているように、ansibleなしでインストールしようとすると次のメッセージが表示されます。
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
オプションを使用できます。