ansible/roles/common/tasks/packages.yml
2023-10-01 12:30:46 +02:00

113 lines
2.5 KiB
YAML

# 2023-10-01
# Tasks: apt
---
- ansible.builtin.include_vars: "packages/{{ ansible_facts['os_family'] | lower }}.yml"
#- name: Comment all entries in sources.list
# ansible.builtin.replace:
# backup: true
# path: /etc/apt/sources.list
# regexp: '^(.*)$'
# replace: '# \1'
# when:
# - ansible_facts['system'] == "Linux"
# - ansible_facts['os_family'] == "Debian"
# tags:
# - apt
# - sources
# - cdrom
- name: Check if sources.list exist
ansible.builtin.stat:
path: "{{ item }}"
with_items:
- "/etc/apt/sources.list"
when:
- ansible_facts['system'] == "Linux"
- ansible_facts['os_family'] == "Debian"
register: sources_list_stat
- name: Copy sources.list to disabled
ansible.builtin.copy:
remote_src: true
src: "{{ item.stat.path }}"
dest: "{{ item.stat.path }}.disabled"
with_items:
- "{{ sources_list_stat.results }}"
when:
- item.stat.exists == true
- ansible_facts['system'] == "Linux"
- ansible_facts['os_family'] == "Debian"
- name: Remove original sources.list
ansible.builtin.file:
path: "{{ item.stat.path }}"
state: absent
with_items:
- "{{ sources_list_stat.results }}"
when:
- item.stat.exists == true
- ansible_facts['system'] == "Linux"
- ansible_facts['os_family'] == "Debian"
- name: Process packages repositories template
ansible.builtin.template:
backup: true
src: "{{ sources_list_template }}"
dest: "{{ sources_list_distribution }}"
owner: root
group: root
mode: u=rw,g=r,o=r
when:
- ansible_facts['system'] == "Linux"
- ansible_facts['os_family'] == "Debian"
tags:
- system
- packages
- template
- repositories
- debian
- name: Upgrade packages
ansible.builtin.apt:
state: present
install_recommends: no
update_cache: yes
upgrade: full
when:
- ansible_facts['system'] == "Linux"
- ansible_facts['os_family'] == "Debian"
tags:
- system
- packages
- add
- name: Install packages
ansible.builtin.apt:
state: present
install_recommends: no
update_cache: yes
name: "{{ packages_needed }}"
when:
- ansible_facts['system'] == "Linux"
- ansible_facts['os_family'] == "Debian"
tags:
- system
- packages
- add
- name: Remove packages
ansible.builtin.apt:
state: absent
autoclean: true
autoremove: true
name: "{{ packages_removed }}"
when:
- ansible_facts['system'] == "Linux"
- ansible_facts['os_family'] == "Debian"
tags:
- system
- packages
- add