HanXHX.debian_bootstrap
Ansible Debian/Devuan/Ubuntu/Raspbian Bootstrap
Dieses Rollout-Tool richtet Debian/Devuan/Ubuntu/Raspbian Hosts ein:
- Konfigurieren Sie APT (sources.list)
- Minimalpakete installieren (vim, htop...)
- Intel/AMD Mikrocode installieren, falls nötig
- NTP-Dienst installieren und konfigurieren (OpenNTPd oder NTP)
- Gruppen und Benutzer mit SSH-Schlüssel und sudo-Rechten hinzufügen
- bashrc, vimrc für Root bereitstellen
- Einige Alternativen aktualisieren
- System konfigurieren: Hostname, Zeitzone und Sprache
- Systemd löschen und vermeiden, falls gewünscht
- Sysctl anpassen
Unterstützte Versionen
OS | Arbeitsfähig | Stabil (aktive Unterstützung) |
---|---|---|
Debian Stretch (9) | Ja | Nein |
Debian Buster (10) | Ja | Ja |
Debian Bullseye (11) | Ja | Ja |
Debian Bookworm (12) | Ja | Ja |
Devuan Ascii (2) | Ja | Nein |
Raspbian Stretch (9) | Experimentell | Nein |
Raspbian Buster (10) | Experimentell | Nein |
Raspbian Bullseye (11) | Experimentell | Nein |
Ubuntu Bionic (18.04) | Ja | Nein |
Ubuntu Focal (20.04) | Experimentell | Nein |
Ubuntu Jammy (22.04) | Experimentell | Nein |
Anforderungen
- Ansible >= 2.11
- Sammlungen: ansible.posix collection / community.general
Rollenvariablen
APT-Konfiguration
Diese Variablen definieren den Hostname zur Konfiguration von APT (normales Repository und Backports):
dbs_apt_default_host
: Repository-Host. Kann das letzte (mit dieser Rolle installiert) durch einen neuen ersetzendbs_apt_use_src
: "deb-src" Repositories installieren (Standard: falsch)dbs_apt_components
: Komponenten, die in sources.list verwendet werden (Standard: "main contrib non-free non-free-firmware")
Rolleneinrichtung
dbs_set_hostname
: Wenn wahr, Hostnamen änderndbs_clean_hosts
: Wenn wahr, verwaltet die Datei/etc/hosts
dbs_set_locale
: Wenn wahr, konfigurieren Sie die Sprachendbs_set_timezone
: Wenn wahr, Zeitzone setzendbs_set_ntp
: Wenn wahr, OpenNTPd installieren und konfigurierendbs_set_apt
: Wenn wahr, APT-Repository konfigurieren
Systemkonfiguration
dbs_hostname
: Systemhostnamedbs_hostname_use_strategy
: Strategie zur Festlegung des Hostnamens (erfahren Sie mehr im hostname-Modul). Diese Variable sollten Sie nur ändern, wenn der Hostname fehlschlägt (z. B. in LXC).dbs_default_locale
: Standardsprache des Systemsdbs_locales
: Liste der installierten Sprachendbs_timezone
: Systemzeitzone. Wenn Sie eine "standardmäßige" Zeitzone wie UTC benötigen, müssen Sie das Präfix "Etc/" verwenden (z. B.: "Etc/UTC").dbs_sysctl_config
: Hash von Kernelparametern, siehe: default/main.ymldbs_use_systemd
: Systemd löschen, wenn auf falsch gesetzt (persistent)dbs_use_dotfiles
: Root-Dotfiles überschreiben (bashrc, screenrc, vimrc)dbs_uninstall_packages
: Liste der Pakete zur Deinstallation
Alternativen
dbs_alternative_editor
dbs_alternative_awk
NTPd
dbs_ntp_hosts
: Liste der Hostnamen von NTP-Serverndbs_ntp_pkg
: Paket, das NTP bereitstellt: "openntpd" oder "ntp"
Gruppen
dbs_groups
: Liste der Gruppen
Jede Zeile hat einige Schlüssel:
name
: (M) Benutzername im Systemsystem
: (O) ja/nein (Standard: nein)state
: (O) vorhanden/nicht vorhanden (Standard: vorhanden)
(M) Pflicht (O) Optional
Benutzer
dbs_users
: Liste der Benutzer
Jede Zeile hat einige Schlüssel:
name
: (M) Benutzername im Systempassword
: (O) Passwort im Hash-Format (siehe Ansible-Dokumentation)clear_password
: (O) Passwort im Klartext (nicht empfohlen)update_password
: (O) immer / bei_Erstellungshell
: (O) Standard ist /bin/bashcomment
: (O) Standard ist ein leerer Stringsudo
: (O) boolescher Wert (wahr = kann sudo verwenden)group
: (O) Hauptgruppe (Standard istname
ohne Passwort)groups
: (O) Kommaseparierte Liste der Gruppencreatehome
: (O) ja/neinsystem
: (O) ja/nein (Standard: nein)ssh_keys
: (O) Liste der SSH-Öffentlichen Schlüsselstate
: (O) vorhanden/nicht vorhanden (Standard: vorhanden)
(M) Pflicht (O) Optional
Hinweise:
- Wenn
password
angegeben ist, wirdclear_password
nicht verwendet! clear_password
ist nicht idempotent mitupdate_password
= immer (Standard)
Für weitere Informationen siehe Ansible-Benutzermodul-Dokumentation.
Nur-Lese-Variablen
dbs_packages
: Liste der zu installierenden Paketedbs_microcode_apt_distribution
: Ort des Pakets zur Installation von Mikrocodedbs_distro_packages
: Liste spezifischer Pakete zur Installation (bezogen auf die OS-Version)dbs_is_docker
: boolean. Ist wahr, wenn das aktuelle System ein Docker-Container ist
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: servers
roles:
- { role: HanXHX.debian_bootstrap }
Über Docker
Aufgrund der Einschränkungen von Docker sind folgende Funktionen deaktiviert:
- Entfernen von systemd
- Festlegen des Hostnamens
- Konfigurieren von sysctl
Wie man diese Rolle entwickelt und testet
Vagrant-Methode
Installieren Sie Vagrant + VirtualBox oder Docker
vagrant up debian-bullseye # mit VirtualBox
vagrant up docker-debian-bullseye # mit Docker
Molecule-Methode
Installieren:
pip install molecule molecule[docker]
Ausführen:
molecule -vv -c molecule/_shared/base.yml converge -s ubuntu-22.04
Lizenz
GPLv2
Spende
Wenn Ihnen dieser Code geholfen hat oder Sie ihn für Ihre Projekte verwendet haben, können Sie mir gerne etwas :beers: kaufen:
- Bitcoin:
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
- Ethereum:
0x63abe6b2648fd892816d87a31e3d9d4365a737b5
- Litecoin:
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
- Monero:
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
Keine Kryptowährung? :star: Das Projekt ist auch eine Möglichkeit, danke zu sagen! :sunglasses:
Autoreninformationen
- Twitter: @hanxhx_
Normalize and prepare a Debian/Devuan/Ubuntu Linux server
ansible-galaxy install HanXHX.debian_bootstrap