--- type: types/entity.md entity_type: technology tags: [operating-system, linux, arch, package-management, encryption, storage] created: 2026-07-25 modified: 2026-08-29 related: - runs-on: Docker - part-of: Gitea Actions - AUR - uses: makepkg - GPG - LVM sources: [Source - Arch Linux Cheat Sheet] confidence: 0.90 confidence_base: 0.90 provenance: sourced summary: Schlanke Rolling-Release-Linux-Distribution, genutzt als Basis für CI/CD-Paketbau-Umgebungen und Infrastruktur. --- # Arch Linux **Typ:** Technology (Betriebssystem) ## Beschreibung Arch Linux ist eine leichte, Rolling-Release-Linux-Distribution, bekannt für ihre Einfachheit, Minimalismus und benutzerorientiertes Design. In der CI/CD-Infrastruktur wird Arch Linux als Basis-Image für Szenario A (Arch-Paketbau) verwendet. Arch Linux bietet hervorragende Unterstützung für Disk-Verschlüsselung (dm-crypt/LUKS), LVM und SSD-TRIM-Optimierung und eignet sich ideal für Entwicklungs- und Produktionsumgebungen mit Sicherheitsanforderungen. ## Kerndaten - **Typ:** Linux-Distribution - **Release-Modell:** Rolling Release - **Status:** Aktiv - **Zweck:** Paketbau-Umgebung - **Paketmanager:** pacman - **Build-Tool:** [[makepkg]] (dm-crypt/LUKS) ## Verwendung in der Infrastruktur ### Szenario A: Arch-Paketbau - **Basis-Image:** `archlinux:base-devel` - **Zweck:** Arch-Linux-Pakete bauen - **Herausforderung:** `makepkg` erfordert Root-Rechte - **Lösung:** Erstelle im Workflow einen Benutzer `builder` ohne Root-Rechte ### Docker-Image ```dockerfile FROM archlinux:base-devel # Build-Kontext enthält base-devel-Pakete: # - gcc, make, autoconf, automake, binutils, bison, fawk, flex, # gawk, gettext, groff, libtool, m4, pacman, patch, pkgconf, sed, texinfo ``` ### Workflow-Muster ```yaml jobs: build-arch-package: runs-on: linux-docker container: image: archlinux:base-devel steps: - name: Create builder user run: | useradd -m builder echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers su - builder -c "cd /workspace && makepkg" - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: arch-packages path: /workspace/*.pkg.tar.zst ``` ## Workaround für Root-Beschränkung ### Das Problem `makepkg` (Arch's Build-Tool) erfordert traditionell Root für: - Installation von Build-Abhängigkeiten - Erstellung von Paketen - Verwaltung der Paketdatenbank ### Die Lösung Der Workflow erstellt einen Benutzer `builder` ohne Root-Rechte und: 1. Gewährt passwortloses sudo via `/etc/sudoers` 2. Wechselt zu Benutzer `builder` mit `su - builder` 3. Führt `makepkg` im Builder-Kontext aus 4. Lädt entstehende `.pkg.tar.zst`-Dateien als Artifacts hoch ## Warum nicht Alpine? Für Szenario A ist Alpine Linux nicht geeignet, da: 1. **Anderes Paketformat:** Alpine verwendet `.apk`-Pakete, nicht Arch's `.pkg.tar.zst` 2. **Inkompatible Build-Tools:** `makepkg` ist Arch-spezifisch 3. **musl libc:** Obwohl nicht direkt ein Problem für `makepkg`, ist es nicht kompatibel mit 1Password CLI ## Beziehungen (Szenario A-Workflows) - **Läuft in:** [[Docker]]-Containern (für verschiedene Build-Szenarien) - **Teil von:** [[Gitea Actions]]-Workflow-Ökosystem ## Hinweis zum Artifact-Upload ### Gitea Actions v4 Einschränkung - **Problem:** Gitea Actions v4 unterstützt Artifact-Upload/Download nicht vollständig - **Symptom:** GHES (GitHub Enterprise Server)-Fehler bei Verwendung von v4 - **Workaround:** Verwende `actions/upload-artifact@v3` explizit - **Auswirkung:** Szenario A muss auf v3 pinnen, bis Gitea Actions v4 reif ist ## Speicher- und Verschlüsselungsfunktionen Arch Linux hat robuste Unterstützung für Speichertechnologien: - **Disk-Verschlüsselung:** Vollständige Unterstützung für [[Disk Encryption]] via dm-crypt und LUKS - **LVM:** Integrierte [[LVM]]-Unterstützung (Logical Volume Manager) - **SSD TRIM:** Hervorragende [[SSD TRIM]]-Unterstützung, auch für verschlüsselte SSDs - **Dateisysteme:** Unterstützt ext4, XFS, Btrfs und andere moderne Dateisysteme mit TRIM - **Anwendungskompatibilität:** Unterstützt [[Wine]] zum Ausführen von Windows-Anwendungen, mit Konfigurationsoptionen zur Verhinderung von systemweiten Dateibindungen ## Siehe auch - CI-VM mit Arch-basierten Builds - [[Docker]] - Container-Laufzeit - [[Gitea Actions]] - CI/CD-Plattform - Alternatives Basis-Image Konzept - [[AUR]] - Arch User Repository - [[makepkg]] - Build-Tool - AUR-Helfer - [[GPG]] - GNU Privacy Guard - dm-crypt/LUKS - [[LVM]] - Logical Volume Manager - [[SSD TRIM]] - SSD-Optimierung - [[Source - Arch Linux Cheat Sheet]] ## Beziehungen - **runs-on:** [[Docker]] - **part-of:** [[Gitea Actions]] - [[AUR]] - **uses:** [[makepkg]] - [[GPG]] - [[LVM]]