# Arch Linux

Arch Linux [ɑːrtʃ ˈlinʊks] ist eine AMD64-optimierte Linux-Distribution mit Rolling Releases, deren Entwicklerteam dem KISS-Prinzip („keep it simple, stupid“) folgt. Zugunsten der Schlankheit wird auf grafische Installations- und Konfigurationshilfen verzichtet. Die Einrichtung „von Hand“ erfordert Grundkenntnisse in Aufbau und Konfiguration eines Linux-Systems, damit wendet sich Arch Linux an fortgeschrittene Benutzer. Inspiriert wurden die Ersteller von Crux und BSD.
Arch Linux wurde Anfang 2001 von Judd Vinet eingeführt. Am 1. Oktober 2007 gab Vinet seinen Rücktritt als Projektleiter bekannt, sein Nachfolger wurde Aaron Griffin. Seit 2020 hat Levente Polyak die Projektleitung. Arch Linux wird von einem ungefähr 25-köpfigen Kernteam und Helfern aus der wachsenden Community, sogenannten „Trusted Users“, weiterentwickelt. Sämtliche distributionsspezifische Entwicklungen werden unter der GPL veröffentlicht.

## Besonderheiten der Distribution

Arch Linux wurde mit Linux From Scratch komplett neu entwickelt, orientiert sich aber an Crux und anderen Distributionen. Für Arch wurde der Aufbau eines Slackware-Linux respektive eines BSD-Systems mit einer Debian-ähnlichen Paketverwaltung und dem Build-System von Gentoo kombiniert. Ähnlich wie in Gentoo sind die Releases lediglich Snapshots des momentanen Entwicklungsstandes (Rolling Release).
Ein herunterladbares Live-System mit grafischer Oberfläche gibt es nicht. Der Installer bootet in eine Rootshell, von da aus muss die Installation anhand von Anleitungen manuell vorgenommen werden. Es stehen jedoch Werkzeuge zur Erstellung eines individuellen Live-Mediums zur Verfügung.
Als Init-System wird seit 2016 auch bei einer Neuinstallation systemd verwendet. Konfigurationsprogramme für die Installation und Einrichtung des Grundsystems sowie für Anwendungs- und Serverprogramme gibt es nicht, stattdessen wird auf die Originaldokumentation und -konfiguration verwiesen, so dass allgemeine Howtos und Anleitungen herangezogen werden können.

### Philosophie

Arch Linux wurde als „Basis-Betriebssystem für fortgeschrittene Anwender“ entwickelt. Die Philosophie von Arch Linux basiert auf den folgenden beiden Punkten:
* Einfach halten, dem KISS-Prinzip folgen. Einfachheit wird hierbei als „ohne unnötige Ergänzungen oder Veränderungen“ definiert.
* Keine GUI-Werkzeuge zur Konfiguration benutzen, die die eigentlichen Vorgänge vor dem Benutzer verstecken.

## Paketverwaltung

Arch Linux ist auf den Einsatz von Binärpaketen ausgelegt. Grundsätzlich werden Pakete mit der eigens entwickelten Paketverwaltung Pacman organisiert. Zusätzlich können mit dem Arch Build System (ABS) neue Pakete für Software erstellt werden.

### Pacman

Pacman ist ein speziell für Arch Linux entwickelter Paketmanager, der aber auch bei anderen Linux-Distributionen und bei MSYS2 unter Microsoft Windows zum Einsatz kommt. Pacman kann Abhängigkeiten auflösen und automatisch alle notwendigen Pakete von den Arch-Repositorien herunterladen, installieren, aktualisieren und auch wieder entfernen, vergleichbar mit Debians APT. Das Besondere an Pacman ist dessen konsequente Anwendung auch bei lokalen Quellen, die meistens als vom Arch Build System (ABS) erstellte Pakete vorliegen. Pacman integriert sich auf Wunsch in PackageKit oder grafische Aufsätze wie Pamac. Ist ein Spiegelserver nicht erreichbar, springt Pacman automatisiert zum nächsten.
Arch Linux setzt auf GnuPG und konzeptionell auf ein Web-of-Trust. Es existieren neben offiziellen Master-Schlüsseln noch die GPG-Schlüssel der trusted users, die damit ihre Pakete signieren. Ein unabhängiger Nutzer behält das Widerrufszertifikat. Die öffentlichen Schlüssel sowie die Pakete innerhalb eines Repositorys sind in einer Datenbank öffentlich einsehbar. Zur Prüfung der Datenintegrität erhält jedes Paket eine MD5- und eine SHA-256-Prüfsumme.

### Paketquellen

Die offiziellen Arch-Linux-Pakete werden in drei Software-Repositorien verwaltet:
* core enthält Pakete, die für den Betrieb eines Basissystems benötigt werden.
* extra enthält Pakete, die den Funktionsumfang erweitern, z. B. Desktop-Umgebungen, Datenbanksysteme usw.
* multilib enthält Pakete, die es auf einem AMD64-System erlauben, native i686-Programme (wie Steam) auszuführen.
Der Hauptteil der Entwicklung findet in den testing-Repositorien statt, bevor die Pakete in die stabilen Repositorien verschoben werden. Seit der Umstellung der Quellpakete auf ein GitLab, gibt es für jedes der zuvor genannten Software-Repositorien ein zugehöriges testing Repository (core-testing, extra-testing, multilib-testing).
Im Rahmen der Paketaktualisierung müssen Transfers von Paketen, die von testing-core nach core wechseln, vorher von mehreren Entwicklern abgesegnet werden. Für Pakete in den anderen Repositorien sind deren jeweilige Entwickler verantwortlich.
Außerdem gibt es noch einige Repositorien, die die neusten Versionen der Desktop-Umgebungen enthalten:
* gnome-unstable enthält die neuesten Pakete der Gnome-Software, ehe diese in extra veröffentlicht werden.
* kde-unstable enthält die neusten Pakete der KDE-Software, ehe diese in extra veröffentlicht werden.
Zusätzlich können Repositorien Dritter eingebunden werden, die angepasste oder neuere Versionen der Softwarepakete anbieten.

### Arch Build System (ABS)

Das Arch Build System ist eine Ports-ähnliche Paketverwaltung. Arch nutzt dabei jeweils eine Textdatei mit dem Namen PKGBUILD, die unter anderem die Anweisungen zum Herunterladen und Konfigurieren der jeweiligen Programme enthält. Der Nutzer kann mit dieser Datei die in der Paketverwaltung von Arch enthaltenen Programme seinen eigenen Bedürfnissen anpassen, indem er beispielsweise einen Patch einfügt. Das Programm makepkg führt diese Anweisungen aus und kompiliert und/oder bereitet die Pakete zur Installation durch pacman vor. Ein Arch-Paket ist im Grunde nicht mehr als ein komprimiertes tar-Archiv, das neben den zu installierenden Dateien noch einige weitere (.PKGINFO, .BUILDINFO und .MTREE) mit allen Metadaten enthält, die Pacman für den Umgang mit Paketen benötigt.
Zusätzlich lässt sich das komplette System über den Befehl makeworld neu bauen.

### Arch User Repository (AUR)

Neben den offiziellen Paketquellen bieten erfahrene Benutzer im Arch User Repository (AUR) PKGBUILD-Skripte, um Pakete lokal selbst zu bauen und dann mit Pacman oder einem AUR-Hilfsprogramm zu installieren. Die PKGBUILD-Skripte vereinfachen das Erstellen von Paketen aus den Quellen durch explizite Auflistung und Überprüfung von Abhängigkeiten und Konfiguration der Installation entsprechend der Arch-Architektur. Das Arch User Repository bietet der Gemeinde zahlreiche Pakete, die nicht in den offiziellen Paketquellen enthalten sind. Deren Verwendung wird von Arch Linux aber ausdrücklich nicht offiziell unterstützt.

## Aktualisierungsmodell

Im Gegensatz zu anderen großen Distributionen wie zum Beispiel Ubuntu und Fedora, die in Abständen von mehreren Monaten oder Jahren aktualisierte Installationsmedien veröffentlichen, arbeitet Arch Linux mit einem Rolling-Release-System. Die Paketverwaltung ermöglicht es Benutzern, ihre Systeme kontinuierlich aktuell zu halten, indem aktuelle Softwarepakete meist ohne Veränderungen (keep it simple) zeitnah bereitgestellt werden. Anstatt den Benutzer zwischen diskreten Versionen zu bewegen, sind Arch-Linux-Installationsmedien lediglich Schnappschüsse des aktuellen Satzes von Paketen, manchmal mit überarbeiteter Installations-Software. Sofern Updates installiert wurden, macht es keinen Unterschied, aus welchem einstigen Installationsmedium Arch installiert wurde.
Am 22. Juli 2012 wurde angekündigt, dass das Arch Linux Installation Framework (AIF) durch einen Satz einfacher Skripte ersetzt werde, um Verzögerungen im Release-Zyklus zu vermeiden. Es wird nun jeweils zum Monatsanfang ein neues Datenträgerabbild (ISO-Hybrid) angeboten, welches das Veröffentlichungsdatum als Version im Dateinamen trägt; beispielsweise 2013.01.04 für das Abbild, das am 4. Januar 2013 erschien. Frühe Installationsabbilder hatten Namen, so erschien Version 0.1 am 11. März 2002 unter dem Namen Homer; es folgten Vega, Firefly, Dragon, Nova (2003), Widget (2004), Wombat (2005), Noodle (2006), Gimmick, Voodoo (als Version 0.8, 2007), Duke (als Version 2007.05), Don’t Panic, Core Dump (2008) und Overlord als letztes Release mit Namen.

## Derivate

Mit Arch Linux 32 existiert eine vom Mutterprojekt unterstützte Abspaltung für x86-Prozessoren mit 32-Bit-Architektur, nachdem die offizielle Unterstützung eingestellt wurde. Das Arch-Linux-ARM-Projekt ermöglicht eine Installation auf Geräten mit Arm-Architektur.
Es gibt mehrere Distributionen, die entweder von Arch Linux abstammen oder dessen Paketquellen nutzen. Dazu zählen das auf Benutzerfreundlichkeit ausgerichtete Manjaro, das mit einem Tiling Fenstermanager ausgestattete ArchBang aber auch BlackArch für Penetrationstester, EndeavourOS mit grafischem Installer, Parabola GNU/Linux-libre ohne unfreie Bestandteile, SystemRescue zur Datenrettung und Artix Linux, welches auf systemd verzichtet. ArcoLinux hingegen versteht sich als Lernsystem, das in den Umgang mit Arch Linux einführt. SteamOS ab Version 3, welches auf dem Steam Deck eingesetzt wird basiert auf Arch Linux. Die ursprüngliche Version von Asahi Linux für Arm-basierte Macs („Apple Silicon“) basierte zudem auch auf Arch, wurde jedoch 2023 vom Fedora Asahi Remix als Lead-Distribution abgelöst und die Entwicklung eingestellt.
Apricity OS (2015–2017) war eine für mobile Cloud-Anwender ausgerichtete Distribution. Antergos (2013–2019) war ein Live-System. Das italienische Condres OS (2017–2019) setzte den Fokus auf Benutzerfreundlichkeit und bot offizielle Paketquellen auch für 32-Bit-x86 (IA-32) an. Chakra Linux (2006–2021) mit Fokus auf KDE wurde nach 2019 nicht mehr wesentlich weiterentwickelt.