linux-arch-alpine-minimal arch-linux setup automation cli archinstall

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 archinstall bietet 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 archinstall für schnelles Deployment von Test-Umgebungen und Desktops.
  • Wichtig: Schauen Sie sich nach der Installation das generierte Log unter /var/log/archinstall/install.log an, 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