linux-system-roles.bootloader
Bootloader
Ein Ansible-Rollenmodul zur Verwaltung von Bootloader und Kernel-Befehlszeilen.
Unterstützte Architekturen
Diese Rolle unterstützt derzeit die Konfiguration des grub2
Bootloaders, der auf folgenden Architekturen läuft:
- AMD- und Intel 64-Bit-Architekturen (x86-64)
- Die 64-Bit ARM-Architektur (ARMv8.0)
- IBM Power Systems, Little Endian (POWER9)
Anforderungen
Siehe unten
Sammlungsanforderungen
Wenn Sie keine ostree
Systeme verwalten möchten, hat die Rolle keine Anforderungen.
Wenn Sie ostree
Systeme verwalten möchten, benötigt die Rolle zusätzliche Module aus externen Sammlungen. Bitte verwenden Sie den folgenden Befehl, um sie zu installieren:
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
Rollenvariablen
bootloader_gather_facts
Ob Bootloader-Fakten gesammelt werden sollen, die Informationen zu allen Kernen enthalten.
Standard: false
Typ: bool
bootloader_settings
Mit dieser Variable können Sie Listen von Kernen und ihren Befehlszeilenparametern angeben, die Sie setzen möchten.
Erforderliche Schlüssel:
kernel
- damit können Sie den Kernel angeben, für den Sie die Einstellungen aktualisieren möchten. Jede Liste sollte denselben Kernel mit einem oder mehreren Schlüsseln angeben.Wenn Sie einen Kernel hinzufügen möchten, müssen Sie drei Schlüssel angeben -
path
,title
,initrd
.Wenn Sie einen Kernel ändern oder entfernen möchten, können Sie einen oder mehrere Schlüssel angeben.
Sie können auch
DEFAULT
oderALL
angeben, um den Standard- oder alle Kerne zu aktualisieren.Verfügbare Schlüssel:
path
- Kernel-Pfadindex
- Kernel-Indextitle
- Kernel-Titelinitrd
- Kernel-Initrd-Bild
Verfügbare Strings:
DEFAULT
- um den Standard-Eintrag zu aktualisierenALL
- um alle Einträge zu aktualisieren
state
- Zustand des Kerns.Verfügbare Werte:
present
,absent
Standard:
present
options
- mit dieser Option können Sie Einstellungen angeben, die aktualisiert werden sollen.name
- Der Name der Einstellung.name
wird weggelassen, wennreplaced
verwendet wird.value
- Der Wert für die Einstellung. Sie müssenvalue
weglassen, wenn die Einstellung keinen Wert hat, z.B.quiet
.state
-present
(Standard) oderabsent
. Der Wertabsent
bedeutet, dass eine Einstellung mit dem Namenname
entfernt werden soll - der Name muss angegeben werden.previous
- Optional - der einzige Wert istreplaced
- dies wird verwendet, um anzugeben, dass die vorherigen Einstellungen durch die angegebenen Einstellungen ersetzt werden sollen.copy_default
- Optional - wenn Sie einen Kernel erstellen, können Siecopy_default: true
angeben, um die Standardargumente in den erstellten Kernel zu kopieren.
Für ein Beispiel siehe Beispiel-Playbook.
Standard: {}
Typ: dict
bootloader_timeout
Mit dieser Variable können Sie die Ladezeit des GRUB-Bootloaders anpassen.
Standard: 5
Typ: int
bootloader_password
Mit dieser Variable können Sie Bootparameter mit einem Passwort schützen.
WARNUNG: Das Ändern des Bootloader-Passworts ist nicht idempotent.
Der Benutzername des Bootloaders ist immer root
.
Dies sollte aus dem Vault kommen.
Wenn nicht gesetzt, wird die aktuelle Konfiguration nicht angefasst.
Standard: null
Typ: string
bootloader_remove_password
Durch Setzen dieser Variable auf true
können Sie das Bootloader-Passwort entfernen.
Standard: false
Typ: bool
bootloader_reboot_ok
Wenn true
, und die Rolle erkennt, dass etwas geändert wurde, was einen Neustart zur Wirkung benötigt, wird der verwaltete Host neu gestartet.
Wenn false
, liegt es an Ihnen zu bestimmen, wann Sie den verwalteten Host neu starten.
Die Rolle gibt die Variable bootloader_reboot_required
(siehe unten) mit dem Wert true
zurück, um anzuzeigen, dass eine Änderung vorgenommen wurde, die einen Neustart erfordert.
Standard: false
Typ: bool
Vom Modul exportierte Variablen
Das Modul exportiert die folgenden Variablen:
bootloader_reboot_needed
Standard false
- wenn true
, bedeutet dies, dass ein Neustart erforderlich ist, um die Änderungen anzuwenden, die durch das Modul vorgenommen wurden.
bootloader_facts
Enthält Bootinformationen für alle Kerne.
Das Modul gibt diese Variable zurück, wenn Sie bootloader_gather_facts: true
setzen.
Zum Beispiel:
"bootloader_facts": [
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet",
"index": "3",
"initrd": "/boot/initramfs-0-rescue-c44543d15b2c4e898912c2497f734e67.img",
"kernel": "/boot/vmlinuz-0-rescue-c44543d15b2c4e898912c2497f734e67",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (0-rescue-c44543d15b2c4e898912c2497f734e67) 36 (Workstation Edition)",
"default": True
},
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"index": "2",
"initrd": "/boot/initramfs-6.3.12-100.fc37.x86_64.img $tuned_initrd",
"kernel": "/boot/vmlinuz-6.3.12-100.fc37.x86_64",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (6.3.12-100.fc37.x86_64) 37 (Workstation Edition)",
"default": False
},
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"index": "1",
"initrd": "/boot/initramfs-6.4.15-100.fc37.x86_64.img $tuned_initrd",
"kernel": "/boot/vmlinuz-6.4.15-100.fc37.x86_64",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (6.4.15-100.fc37.x86_64) 37 (Workstation Edition)",
"default": False
},
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"index": "0",
"initrd": "/boot/initramfs-6.5.7-100.fc37.x86_64.img $tuned_initrd",
"kernel": "/boot/vmlinuz-6.5.7-100.fc37.x86_64",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (6.5.7-100.fc37.x86_64) 37 (Workstation Edition)",
"default": False
}
]
Beispiel Playbook
- hosts: all
vars:
bootloader_settings:
# Einen bestehenden Kernel mit Pfad aktualisieren und vorherige Einstellungen ersetzen
- kernel:
path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
options:
- name: console
value: tty0
state: present
- previous: replaced
# Einen bestehenden Kernel mit Index aktualisieren
- kernel:
index: 1
options:
- name: print-fatal-signals
value: 1
# Einen bestehenden Kernel mit Titel aktualisieren
- kernel:
title: Red Hat Enterprise Linux (4.1.1.1.el8.x86_64) 8
options:
- name: no_timer_check
state: present
# Einen Kernel mit Argumenten hinzufügen
- kernel:
path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
title: Mein Kernel
options:
- name: console
value: tty0
- name: print-fatal-signals
value: 1
- name: no_timer_check
state: present
state: present
# Einen Kernel mit Argumenten und Kopieren der Standardargumente hinzufügen
- kernel:
path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
title: Mein Kernel
options:
- name: console
value: tty0
- copy_default: true
state: present
# Einen Kernel entfernen
- kernel:
title: Mein Kernel
state: absent
# Alle Kerne aktualisieren
- kernel: ALL
options:
- name: debug
state: present
# Den Standard-Kernel aktualisieren
- kernel: DEFAULT
options:
- name: quiet
state: present
bootloader_timeout: 5
bootloader_password: null
bootloader_remove_password: false
bootloader_reboot_ok: true
roles:
- linux-system-roles.bootloader
rpm-ostree
Siehe README-ostree.md
Lizenz
MIT
Ansible role for bootloader management
ansible-galaxy install linux-system-roles.bootloader