0

我一直在尝试删除一些 java 文件并重新安装它们以防止在 Rocky linux 上出现错误,但是在使用 DNF 模块时我遇到了麻烦。我的问题可能来自我使用 shell 命令“rpm -qa | grep java”来收集我需要重新安装的文件,但我就是不知道。

这是我的代码:

---
- name: Rocky | Java reinstall to prevent bugs
  hosts: "fakeHost"
  gather_facts: false
  become: true

  tasks:

      #Ping the server
    - name: Test reachability
      ping:

      #Check if the path exist
    - name: Check java file path
      stat:
        path: /usr/lib/jvm/java
      register: dir_name

      #Report if the dir exists
    - name: Report if the dir exists
      debug:
        msg: "The directory exists"
      when: 
        - dir_name.stat.exists

      #Load up all the java file that the machine has
    - name: grep all java file
      shell: "rpm -qa | grep java"
      args:
        warn: false #prevent false change
      register: java_files
      when: 
        - dir_name.stat.exists

      #Display all the java files of the machine
    - name: Show all java java_files
      debug:
        msg: "{{ item }}"
      loop:
        - "{{ java_files.stdout_lines }}"
      when: 
        - dir_name.stat.exists

      #Uninstall each java file with the DNF command
    - name: Uninstall all the java files
      dnf:
        name: "{{ item }}"
        state: absent
        autoremove: no
      loop:
        - "{{ java_files.stdout_lines }}"
      when: 
        - dir_name.stat.exists

    #Install each java file with the DNF command
    - name: Install all the java files
      dnf:
        name: "{{ item }}"
        state: present
      loop:
        - "{{ java_files.stdout_lines }}"
      when: 
        - dir_name.stat.exists
4

0 回答 0