Archinstall: Guided Automation (Artikel 183)
Nutzung des offiziellen archinstall-Skripts zur schnellen und geführten Installation von Arch Linux. Erfahren Sie den Umgang mit dem interaktiven Menü und die Automatisierung via JSON.
# Archinstall: Der offizielle Turbo-Weg zu Arch Linux
TL;DR / Management Summary Viele Admins scheuen Arch Linux wegen der mühsamen manuellen Installation (Artikel 182). Mit
archinstallbietet das Projekt ein offizielles Python-Skript an, das den Prozess radikal vereinfacht. Es führt den Admin durch ein strukturiertes Menü (Festplatten, User, Desktops, Treiber) und kann die Konfiguration am Ende als JSON-Datei exportieren. Ideal, um Arch Linux schnell in VMs oder auf Laptops zu deployen, ohne auf Individualisierung zu verzichten.
# 1. Einführung & Konzepte
Der Spagat zwischen Automatisierung und Freiheit.
archinstall ist kein gewöhnlicher Installer. Es ist eine Bibliothek von Python-Funktionen, die den Arch-Installationsprozess abbilden. Es nimmt Entscheidungen ab, lässt dem Admin aber weiterhin die Wahl über das Dateisystem und die Pakete.
# Der archinstall Flow (Mermaid)
graph TD
A[Boot Arch ISO] --> B[Run command: archinstall]
B --> C{Interactive Menu}
C --> D[Disk Configuration]
C --> E[Users & Passwords]
C --> F[Profile: Desktop/Server]
C --> G[Audio/Video Drivers]
B --> H[JSON Configuration]
H --> I[Automated Install]
G --> J[Execution: pacstrap & config]
I --> J
J --> K[Ready System]
# 2. Nutzung des interaktiven Modus
Geführt zum Ziel.
Geben Sie einfach archinstall im Terminal des Live-ISOs ein.
# Die wichtigsten Menüpunkte
- Disk configuration: Unterstützt automatisches Partitionieren (LVM, Encryption, Btrfs mit Subvolumes).
- Profile: Wählen Sie zwischen
Minimal(Server),Desktop(Gnome, KDE, i3) oder spezialisierten Server-Rollen. - Network configuration: Aktiviert meist automatisch den NetworkManager.
# 3. Automatisierung via JSON (Enterprise-Einsatz)
Provisionierung in Serie.
Anstatt das Menü jedes Mal durchzugehen, können Sie eine Konfigurationsdatei übergeben.
# Beispiel: config.json (Auszug)
{
"bootloader": "grub-install",
"disk_config": {
"device": "/dev/sda",
"method": "pre-configured"
},
"hostname": "arch-prod-node",
"packages": ["htop", "git", "ansible"],
"timezone": "Europe/Berlin"
}
# Installation starten
archinstall --config my_config.json
# 4. Day-2 Operations: Post-Install Skripte
Die ‘Last Mile’ automatisieren.
Archinstall erlaubt die Übergabe eines Skripts, das innerhalb des chroot am Ende der Installation ausgeführt wird. Ideal für das Einspielen von Ansible-Agenten oder Firmen-Keys.
archinstall --config config.json --post-install cleanup.sh
# 5. Troubleshooting & “War Stories”
Wenn der Installer hakt.
# Story 1: “Der Disk-Busy Error”
Symptom: archinstall bricht beim Partitionieren mit der Meldung “Device is busy” ab.
Ursache: Der Admin hat vorher manuell Partitionen gemountet oder das Live-System hat ungenutzte Swaps aktiviert.
Lösung: Führen Sie umount -R /mnt und swapoff -a aus, bevor Sie archinstall starten.
# Story 2: “Das Mirror-Timeout”
Symptom: Die Installation bricht bei 10% ab, weil Pakete nicht geladen werden können.
Ursache: Das Skript nutzt veraltete Mirrors aus dem ISO-Cache.
Lösung: Nutzen Sie im Menü den Punkt “Mirrors” -> “Mirror Region” und wählen Sie Länder in Ihrer Nähe. Das Skript aktualisiert dann die mirrorlist via HTTPS.
# 6. Fazit & Empfehlung
- Wahl: Nutzen Sie
archinstallfür schnelles Deployment von Test-Umgebungen und Desktops. - Wichtig: Schauen Sie sich nach der Installation das generierte Log unter
/var/log/archinstall/install.logan, um zu verstehen, welche Befehle das Skript ausgeführt hat. - Standard: Für produktive Bare-Metal-Server in der Firma ist die manuelle Methode (Artikel 182) oft vorzuziehen, um wirklich jedes Detail der Partitionierung zu kontrollieren.
# Anhang: Cheatsheet
| Aufgabe | Befehl / Option |
|---|---|
| Installer starten | archinstall |
| JSON Konfig laden | archinstall --config <file.json> |
| Hilfe anzeigen | archinstall --help |
| Python API nutzen | import archinstall |
| Vorlage exportieren | Im Menü am Ende “Save configuration” |
| Nur Disk-Script | archinstall --disk-layout <file.json> |
| Testlauf | archinstall --dry-run |