Files
chemenu/kb/entities/technologies/Arch Linux.md
T
torben 18ae28f918
CI / verify (push) Failing after 32s
Release / release (push) Successful in 38s
Chemenu 2.1.0 - deterministischer Wissenskompiler
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki:
raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht
tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren
Grenzen in Code durchgesetzt sind statt im Prompt.

Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige
Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses
Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44
Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist.

Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den
Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er
dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs.

Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte.
Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet -
siehe NOTICE.
2026-09-01 16:26:14 +02:00

136 lines
4.7 KiB
Markdown

---
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: [Docker, Gitea Actions, AUR, makepkg, Aura, GPG, Disk Encryption, LVM, Wine]
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]]
- **AUR-Helfer:** [[Aura]]
- **Verschlüsselung:** [[Disk Encryption]] (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
- [[Aura]] - AUR-Helfer
- [[GPG]] - GNU Privacy Guard
- [[Disk Encryption]] - dm-crypt/LUKS
- [[LVM]] - Logical Volume Manager
- [[SSD TRIM]] - SSD-Optimierung
- [[Source - Arch Linux Cheat Sheet]]