Herb 9cd471d66e Konventions-Geruest anlegen (CLAUDE.md, docs, Obsidian-Vault)
Projekt-CLAUDE.md mit Status, Entscheidungslog E-001..E-006,
Architektur mit Mermaid-Diagrammen, COCKPIT/CHANGELOG als Vault-Start.
Alt-Doku (CLAUDE_KONTEXT.md, ZUSAMMENFASSUNG_TODO.md) darin aufgegangen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 13:11:35 +02:00

Ansible Setup - Schul-Laptops

12 Linux Mint Laptops verwalten mit Ansible + Clonezilla Backup.

Erstes Setup (einmalig auf diesem Rechner)

1. Passwordless Sudo einrichten

Damit Ansible ohne Passwort arbeiten kann:

sudo visudo

Am Ende hinzufuegen:

puettmann ALL=(ALL) NOPASSWD: ALL

Speichern mit Ctrl+X, dann Y, dann Enter.

2. Inventory anpassen

Bearbeite inventory.yml und trage die richtigen IP-Adressen ein:

nano ~/ansible-schule/inventory.yml

Workflow: Image auf andere Rechner spielen

Schritt 1: Image erstellen (Clonezilla)

  1. Clonezilla Live USB-Stick erstellen
  2. Von USB booten
  3. "device-image" → "savedisk" waehlen
  4. Image auf externen Datentraeger speichern

Schritt 2: Image auf Clients aufspielen

  1. Von Clonezilla USB booten
  2. "device-image" → "restoredisk" waehlen
  3. Image auswaehlen, auf Festplatte spielen

Schritt 3: First-Boot Setup (auf jedem geklonten Rechner)

sudo ~/ansible-schule/files/first-boot-setup.sh laptop05

(Ersetze laptop05 durch den jeweiligen Hostnamen)

Ansible Befehle

Alle Befehle aus dem Verzeichnis ~/ansible-schule ausfuehren:

cd ~/ansible-schule

Alle Rechner pingen

ansible-playbook playbooks/ping.yml

System-Update auf allen Clients

ansible-playbook playbooks/update.yml

Software installieren

# Standard-Pakete (in der Datei definiert)
ansible-playbook playbooks/install-software.yml

# Bestimmte Pakete
ansible-playbook playbooks/install-software.yml -e "packages=['firefox','vlc','gimp']"

Nur bestimmte Rechner

ansible-playbook playbooks/update.yml --limit laptop05,laptop06

Alle Clients neustarten

ansible-playbook playbooks/reboot.yml

Schnelle Befehle ohne Playbook

# Shell-Befehl auf allen Clients
ansible clients -m shell -a "df -h"

# Paket installieren
ansible clients -m apt -a "name=htop state=present" --become

# Datei kopieren
ansible clients -m copy -a "src=./files/test.txt dest=/tmp/"

Verzeichnisstruktur

~/ansible-schule/
├── ansible.cfg          # Ansible-Konfiguration
├── inventory.yml        # Liste aller Laptops mit IPs
├── README.md            # Diese Datei
├── playbooks/
│   ├── ping.yml         # Erreichbarkeit testen
│   ├── update.yml       # System-Updates
│   ├── install-software.yml
│   ├── reboot.yml
│   └── set-hostname.yml
└── files/
    └── first-boot-setup.sh  # Nach Klonen ausfuehren

Problemloesungen

"Permission denied" bei SSH

# SSH-Key manuell kopieren
ssh-copy-id puettmann@192.168.1.105

Rechner nicht erreichbar

# Einzelnen Rechner testen
ansible laptop05 -m ping -vvv

Host-Key Warnung

Ist in ansible.cfg deaktiviert. Falls es trotzdem auftritt:

ssh-keygen -R 192.168.1.105

Tipps

  1. Bandbreite sparen: Updates nachts oder gestaffelt ausfuehren
  2. Grosse Aenderungen: Besser per Clonezilla-Image
  3. Kleine Aenderungen: Ansible (schneller, kein Neustart)
  4. Testen: Erst mit --limit laptop05 auf einem Rechner testen
Description
Zentrale Verwaltung der Schul-Laptops: ansible-pull + Clonezilla-Jahres-Reimage
Readme 64 KiB
Languages
Shell 100%