1--- 2- hosts: debian_servers 3 gather_facts: true 4 become: true 5 6 tasks: 7 - name: Perform a cache update 8 ansible.builtin.apt: 9 update_cache: true 10 11 - name: Perform a dist-upgrade 12 ansible.builtin.apt: 13 upgrade: dist 14 15 - name: Check if backports are enabled in sources.list 16 ansible.builtin.lineinfile: 17 path: /etc/apt/sources.list 18 regex: "backports" 19 state: absent 20 changed_when: false 21 check_mode: true 22 register: backports 23 24 - name: Perform a dist-upgrade from Debian backports 25 ansible.builtin.apt: 26 default_release: bookworm-backports 27 update_cache: true 28 upgrade: dist 29 when: 30 - ansible_distribution == 'Debian' 31 - backports.found == 1 32 33 - name: Check if reboot is required 34 ansible.builtin.stat: 35 path: /var/run/reboot-required 36 get_checksum: false 37 register: reboot_required_file 38 39 - name: Reboot the server (if required) 40 ansible.builtin.reboot: 41 when: reboot_required_file.stat.exists == true 42 43 - name: Remove dependencies that are no longer required 44 ansible.builtin.apt: 45 autoremove: true