18ae28f918
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.
4.7 KiB
4.7 KiB
type, entity_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
| type | entity_type | tags | created | modified | related | sources | confidence | confidence_base | provenance | summary | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| types/entity.md | technology |
|
2026-07-25 | 2026-08-29 |
|
|
0.90 | 0.90 | sourced | 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:
makepkgerfordert Root-Rechte - Lösung: Erstelle im Workflow einen Benutzer
builderohne Root-Rechte
Docker-Image
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
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:
- Gewährt passwortloses sudo via
/etc/sudoers - Wechselt zu Benutzer
buildermitsu - builder - Führt
makepkgim Builder-Kontext aus - Lädt entstehende
.pkg.tar.zst-Dateien als Artifacts hoch
Warum nicht Alpine?
Für Szenario A ist Alpine Linux nicht geeignet, da:
- Anderes Paketformat: Alpine verwendet
.apk-Pakete, nicht Arch's.pkg.tar.zst - Inkompatible Build-Tools:
makepkgist Arch-spezifisch - 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@v3explizit - 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