initial commit
This commit is contained in:
106
playbooks/apt-migrate-to-trixie.yml
Normal file
106
playbooks/apt-migrate-to-trixie.yml
Normal file
@@ -0,0 +1,106 @@
|
||||
---
|
||||
|
||||
# ---
|
||||
# deb822 ist das neue Konfigurationsformats für APT-Quellen (Repositories).
|
||||
# Es basiert auf der Debian Control Syntax nach RFC 822 – daher der Name
|
||||
# ---
|
||||
|
||||
- name: Nur APT auf Debian 13 (Trixie) migrieren
|
||||
hosts: all
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
pre_tasks:
|
||||
- name: Sicherstellen, dass wir Debian sind
|
||||
assert:
|
||||
that:
|
||||
- ansible_facts['os_family'] == "Debian"
|
||||
- (
|
||||
(ansible_facts.get('distribution_major_version') is defined
|
||||
and (ansible_facts.get('distribution_major_version') | int) == 13)
|
||||
or
|
||||
(ansible_facts.get('lsb') is defined
|
||||
and ansible_facts['lsb'].get('codename') == "trixie")
|
||||
)
|
||||
fail_msg: "Dieses Playbook darf nur auf Debian 13 (Trixie) laufen."
|
||||
success_msg: "System ist Debian 13 (Trixie) - weiter geht's."
|
||||
|
||||
tasks:
|
||||
|
||||
- name: Keyring für Debian-Archive sicherstellen (falls Signed-By genutzt)
|
||||
ansible.builtin.apt:
|
||||
name: debian-archive-keyring
|
||||
state: present
|
||||
when: use_signed_by
|
||||
|
||||
- name: (Optional) Alte /etc/apt/sources.list sichern
|
||||
ansible.builtin.copy:
|
||||
src: /etc/apt/sources.list
|
||||
dest: /etc/apt/sources.list.before-trixie
|
||||
remote_src: true
|
||||
force: false
|
||||
ignore_errors: true
|
||||
|
||||
- name: Alte /etc/apt/sources.list deaktivieren (leere Kommentar-Datei)
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/apt/sources.list
|
||||
content: |
|
||||
# Verwaltet via Ansible. Repositories liegen in /etc/apt/sources.list.d/*.sources (deb822).
|
||||
# Zielrelease: {{ target_release }}
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
- name: Debian-Repo (deb + deb-src) als deb822 anlegen
|
||||
ansible.builtin.template:
|
||||
src: templates/apt-migrate-to-trixie/debian.sources.j2
|
||||
dest: /etc/apt/sources.list.d/debian.sources
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
- name: Security-Repo (deb + deb-src) als deb822 anlegen
|
||||
ansible.builtin.template:
|
||||
src: templates/apt-migrate-to-trixie/security.sources.j2
|
||||
dest: /etc/apt/sources.list.d/security.sources
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
- name: Backports-Repo (optional) als deb822 anlegen/entfernen
|
||||
ansible.builtin.template:
|
||||
src: templates/apt-migrate-to-trixie/backports.sources.j2
|
||||
dest: /etc/apt/sources.list.d/backports.sources
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
when: enable_backports
|
||||
- name: Backports-Repo entfernen wenn deaktiviert
|
||||
ansible.builtin.file:
|
||||
path: /etc/apt/sources.list.d/backports.sources
|
||||
state: absent
|
||||
when: not enable_backports
|
||||
|
||||
- name: Optionales Backports-Pinning setzen
|
||||
ansible.builtin.template:
|
||||
src: templates/apt-migrate-to-trixie/99-backports.j2
|
||||
dest: /etc/apt/preferences.d/99-backports
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
when: enable_backports and pin_backports_low
|
||||
|
||||
- name: APT-Cache aktualisieren
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: "{{ apt_cache_valid_time }}"
|
||||
|
||||
- name: Verifikation - zeigen, ob Suites auf trixie stehen
|
||||
ansible.builtin.command: apt-cache policy
|
||||
register: apt_policy
|
||||
changed_when: false
|
||||
|
||||
- name: Ausgabe anzeigen (nur Info)
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ apt_policy.stdout.split('\n') | select('search', 'trixie') | list | join('\n') }}"
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
# Backports nicht automatisch bevorzugen
|
||||
Package: *
|
||||
Pin: release n={{ target_release }}-backports
|
||||
Pin-Priority: {{ backports_pin_priority }}
|
||||
@@ -0,0 +1,10 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
# Verwaltet via Ansible - Backports für {{ target_release }}
|
||||
Types: deb deb-src
|
||||
URIs: {{ debian_mirror }}
|
||||
Suites: {{ target_release }}-backports
|
||||
Components: {{ components }}
|
||||
{% if use_signed_by %}
|
||||
Signed-By: {{ signed_by_keyring }}
|
||||
{% endif %}
|
||||
17
playbooks/templates/apt-migrate-to-trixie/debian.sources.j2
Normal file
17
playbooks/templates/apt-migrate-to-trixie/debian.sources.j2
Normal file
@@ -0,0 +1,17 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
# Verwaltet via Ansible - Debian Basis & Updates für {{ target_release }}
|
||||
Types: deb deb-src
|
||||
URIs: {{ debian_mirror }}
|
||||
Suites: {{ target_release }} {{ target_release }}-updates
|
||||
Components: {{ components }}
|
||||
Signed-By: default
|
||||
EOF
|
||||
# Verwaltet via Ansible - Debian Basis & Updates für {{ target_release }}
|
||||
Types: deb deb-src
|
||||
URIs: {{ debian_mirror }}
|
||||
Suites: {{ target_release }} {{ target_release }}-updates
|
||||
Components: {{ components }}
|
||||
{% if use_signed_by %}
|
||||
Signed-By: {{ signed_by_keyring }}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,10 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
# Verwaltet via Ansible - Security für {{ target_release }}
|
||||
Types: deb deb-src
|
||||
URIs: {{ security_mirror }}
|
||||
Suites: {{ target_release }}-security
|
||||
Components: {{ components }}
|
||||
{% if use_signed_by %}
|
||||
Signed-By: {{ signed_by_keyring }}
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user