# Arch Linux

Arch Linux, ou plus communément Arch est une distribution Linux créée par Judd Vinet qui met l'accent sur la simplicité de conception - selon le principe KISS. L'inspiration principale vient de l'ancienne distribution Crux Linux.

## Philosophie

Arch a été conçue comme un système d'exploitation destiné aux utilisateurs avancés. Sa philosophie simple et sans outils de configuration demande, comme Slackware, une certaine connaissance de Linux pour être installée, mais reste toutefois simple à maintenir. La philosophie d'Arch consiste en trois points :
* Rester simple (selon le principe KISS), légère et flexible ;
* Demeurer centré sur l'utilisateur. Les personnes utilisant le système doivent connaître son fonctionnement. En conséquence, l'utilisation d'un environnement graphique n'est pas promue, parce qu'il masque généralement ce fonctionnement, rendant l'utilisateur incapable de résoudre des problèmes qui y sont liés ;
* Respecter la philosophie libre et communautaire. En conséquence, cette distribution autorise les personnes qui l'utilisent à contribuer de la manière qu'ils le souhaitent tant que ces contributions ne vont pas à l'encontre des idéaux de conception ou de philosophie.
Arch est une distribution de type rolling release, c'est-à-dire qu'elle évolue progressivement et sur la longue durée au gré des mises à jour de l'ensemble des paquets installés, sans nécessiter de changement majeur de version du système. Concernant les nouvelles installations, des images disques actualisées à un rythme mensuel sont mises à disposition en téléchargement. C'est ainsi qu'en utilisant le gestionnaire de paquets les utilisateurs peuvent garder leur système à jour facilement à long terme. Contrairement à certaines distributions qui encouragent leurs utilisateurs à installer leurs nouvelles versions dès qu'elles paraissent, les images disques d'Arch sont simplement des clichés pris à un instant T, qui incluent un logiciel utilitaire d'installation système parfois mis à jour.

### Variantes

En plus de la version x86-64, il existe plusieurs variantes plus ou moins actives d'Arch :
* une dédiée à l'architecture ARM : Arch Linux ARM supportant ARMv6, ARMv7 et ARMv8 ;
* une autre pour i686, architecture qui n'est plus supportée officiellement depuis novembre 2017 (mais reprise par la communauté) ;
* Une autre pour Loongson ;
* Une autre pour PowerPC ;
* Une autre pour RISC-V ;
* une se basant sur le noyau BSD : PacBSD (en) ;
* et une se basant sur le noyau Hurd : Arch Hurd.

## Installation

L'installation est faisable à partir d'un média (typiquement un CD ou une clé USB) contenant une des images disques mises à disposition à cet effet en téléchargement, ou à partir d'un autre système Linux déjà installé. Elle se déroule entièrement en mode texte, l'utilisateur créant via un script (pacstrap) l'arborescence du système de base, système qu'il peut ensuite personnaliser et finaliser à travers un chroot, suivant le même principe que Gentoo et quelques autres distributions et à la différence de la plupart des autres, dans lesquelles un installateur gère tout le processus d'installation d'une façon automatisée, ne laissant que des choix restreints à l'utilisateur.
Depuis le 1er avril 2021, Arch intègre un installateur guidé en ligne de commande écrit en Python. Il suffit de lancer archinstall à partir de l'ISO.

## Gestionnaire de paquets

Le gestionnaire de paquets s'appelle pacman (package management utility). Il peut gérer la mise à jour du système, l'installation de nouveaux paquets, la suppression de paquets installés, et différentes recherches. Les paquets sont optimisés pour l'architecture x86 64, et les paquets des dépôts officiels sont maintenus par des Trusted Users, des utilisateurs de confiance.
Les paquets construits à partir des sources utilisent le dépôt spécial AUR : Arch User Repository. Les paquets sur l'AUR sont en fait des scripts qui téléchargent, compilent puis configurent automatiquement chaque logiciel. Ces scripts sont développés et maintenus par la communauté.
En complément de ces dépôts officiels, il existe de nombreux dépôts maintenus par des utilisateurs d'Arch. Certains de ces dépôts ont un thème précis comme le support d'un noyau temps réel ou bien ont des vocations plus généralistes.
Les paquets étaient jusqu'à 2019, compressés au format .xz (xz, basé sur LZMA). À partir du 29 décembre 2019, ils sont compressés au format .zst (Zstandard), ayant un taux de compression un peu moins important (~0.8 %, par rapport au niveau de compression utilisé pour xz), mais étant beaucoup plus rapide à décompresser (~1 300 %).

### Dépôts

Les paquets pour Arch sont disponibles dans l'arbre des paquets et ses miroirs. Il existe de nombreuses branches différentes dont :
* Core - Contient tous les paquets requis pour installer un système Linux de base ;
* Extra - Contient des paquets non requis pour un système de base mais utiles pour améliorer l'utilisation quotidienne (environnements de bureau, langages de programmation, etc.) ;
* Multilib - Contient les paquets des programmes/bibliothèques en 32bits à destination de l'architecture 64bits (e.g. wine, skype et Steam, etc). Cela permet d'utiliser des applications qui n'existent qu'en 32bits.
En plus de ces paquets, il existe trois dépôts de test pour les logiciels (et versions de logiciels) pouvant avoir une place dans ces dépôts :
* Core-testing - Pour les paquets de core
* Extra-testing - Pour les paquets de extra
* Multilib-testing - Pour les paquets de Multilib
D'origine, ces trois dépôts ne sont pas utilisés par pacman.

## Distributions fondées sur Arch

* ArchBang (en)
* Arcolinux
* BlackArch
* Chakra Linux
* EndeavourOS (successeur d'Antergos)
* Hyperbola GNU/Linux-libre (avant de devenir HyperbolaBSD)
* Manjaro Linux
* Parabola GNU/Linux-libre
* SystemRescueCd
* SteamOS (à partir de la 3.0, les versions précédentes sont basées sur Debian)