Ansible: Pbrun が実行できない

Ansible: Pbrun が実行できない

以下の在庫ファイルがあります

[server]
abc.com
[server:vars]
ansible_user="user1"
ansible_ssh_pass="pwd"
ansible_pbrun_exe="pbrun"
ansible_pbrun_password="pqa"
ansible_pbrun_user="root"

プレイブックファイル

---
- name: Upgrade Java Version to all the hosts
  hosts: all
  tasks:
    - name: run simple command
      shell: java -version 2>&1 | grep version | awk '{print $3}' | sed 's/"//g'
      register: javav
      
    - name: remove the currently installed java
      become: true
      become_method: "pbrun"
      shell: |
        mv /usr/bin/java  ~/bckup_java_exe
        mv /usr/java/ ~/bckup_java

今、Ansibleプレイブックを実行すると、SSHホストに接続し、コマンドを正常に実行することもできますが、必要なコマンドをjava -version ..実行することはできません。mvpbrun

プレイブックから削除するとbecome: true権限エラーが表示されます

```
: Permission denied", "mv: cannot move `/usr/java/' to
````

削除しないとbecome: true他のエラーが発生し、動作しません

答え1

どこにも設定されていないようですbecome_method: pbrun。これは必須です。

答え2

私が見つけた解決策は以下の通りです

  become: "yes"
  become_method: "pbrun"
  become_user: "root"
  become_flags: "sa"

pbrun sa -u rootを実行したので

ansible_become_passまた、インベントリファイルに設定することも忘れないでください。--ask-become-pass

ありがとう

関連情報