Arch Linux (/ɑːrtʃ/)[8][9][g] is anopen source,rolling releaseLinux distribution. Arch Linux is kept up-to-date by regularly updating the individual pieces of software that it comprises.[10] Arch Linux is intentionally minimal, and is meant to be configured by the user during installation so they may add only what they require.[11]
Pacman, apackage manager written specifically for Arch Linux, is used to install, remove and update software packages.[14] Additionally, theArch User Repository (AUR), which is the community-driven repository for Arch Linux provides packages not included in the official repositories and alternative versions of packages; AUR packages can be downloaded and built manually, or installed through an AUR 'helper'.[15][16]
Arch Linux has comprehensive documentation in the form of a community-runwiki known as the ArchWiki.[17][18][19]
Inspired byCRUX, another minimalist distribution, Judd Vinet started the Arch Linux project in March 2002. The name was chosen because Vinet liked the word's meaning of "the principal," as in "arch-enemy".[8][20]
Originally only for32-bit x86 CPUs, the firstx86 64 installation ISO was released in April 2006.[21]
Vinet led Arch Linux until 1 October 2007, when he stepped down due to lack of time, transferring control of the project to Aaron Griffin.[22]
The migration tosystemd as itsinit system started in August 2012,[23] and it became the default on new installations in October 2012.[24] It replaced theSysV-style init system, used since the distribution's inception.[25]
The end ofi686 support was announced in January 2017, with the February 2017 ISO being the last one including i686[26] and making the architecture unsupported in November 2017.[27] Since then, the community derivative Arch Linux 32[28] can be used for i686 hardware.
On 24 February 2020, Aaron Griffin announced that due to his limited involvement with the project, he would, after a voting period, transfer control of the project to Levente Polyak.[29] This change also led to a new 2-year term period being added to the Project Leader position.[30]
In March 2021, Arch Linux developers were thinking of porting Arch Linux packages tox86_64-v3, roughly correlating to theIntel Haswell era of processors.[31][32]
In April 2021, Arch Linux installation images began including a guided installation script by default.[33]
In late 2021, the Arch Linux developers released Pacman 6.0, which enabled parallel downloads.[34]
In February 2022, the Arch Linux developers began offering debug packages.[35]
In September 2024,Valve partnered with Arch Linux developers to support ongoing development efforts with the focus on build service infrastructure and secure signing enclave.[36]
Until Pacman version 4.0.0,[37] Arch Linux's package manager lacked support for signed packages.[38] Packages and metadata were not verified for authenticity by Pacman during the download-install process. Without package authentication checking, tampered-with or malicious repository mirrors could compromise the integrity of a system.[39] Pacman 4 allowed verification of the package database and packages, but it was disabled by default. In November 2011, package signing became mandatory for new package builds, and as of March 2012, every official package is signed.[40] In June 2012, package signing verification became official and is now enabled by default in the installation process.[41][42]
Arch Linux focuses on simplicity of design, meaning that the main focus involves creating an environment that is straightforward and relatively easy for the user to understand directly, rather than providing polished point-and-click style management tools –the package manager, for example, does not have an official graphical front-end. This is largely achieved by encouraging the use of succinctly commented, clean configuration files that are arranged for quick access and editing.[44] This has earned it a reputation as a distribution for "advanced users" who are willing to use thecommand-line interface.[45]
Relying on complex tools to manage and build your system is going to hurt the end-users. [...] "If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they need no hiding.
The Arch Linux website suppliesISO images that may be burned to aCD orUSB drive. Installation can be accomplished manually by following the instructions on the Arch Wiki, or automatically through the use of the included "archinstall" script.[50][51][52] Another command line utility that comes bundled with the installation media, "pacstrap" may be used to install the base system.[42] Installation of additional packages which are not part of the base system can be done with either pacstrap, Pacman after booting (orchrooting) into the new installation, or by specifying packages within the guided archinstall script.[53][54][14]
An example configuration for the guided "archinstall" script.Neofetch output of an Arch Linux installation
An alternative to using CD or USB images for installation is to use the static version of the package manager Pacman, from within another Linux-based operating system.[55] The user canmount their newly formatteddrive partition, and use pacstrap (or Pacman with the appropriatecommand-line switch) to install base and additional packages with the mountpoint of the destination device as theroot for its operations. This method is useful when installing Arch Linux onto USB flash drives, or onto a temporarily mounted device which belongs to another system.[56]
Depending on the selected installation type, further actions may need to be taken before the new system is ready for use. Notable configuration includes the installation of abootloader, configuring the system with ahostname, network connection, language settings, and graphical user interface.[57]
Arch Linux does not schedule releases for specific dates, nor does it provide traditional releases, but instead uses arolling release model. Packages in the main repositories are updated often, with new updates being pushed far quicker when compared toLTS distributions. This style of package management allows users to easily keep systems updated.[58]
Occasionally, manual interventions are required for certain updates, with instructions posted on the news section of the Arch Linux website.[59]
All packages are managed through pacman, apackage manager written specifically for Arch Linux.[60] Pacman handles package installation, upgrades, downgrades, removal and features automatic dependency resolution.[61] The packages for Arch Linux are obtained from the Arch Linux package tree and are compiled for the x86-64 architecture.
Pacman typically uses binary packages with a.tar.zst extension[62][63][64] (forzstd compression), with.pkg placed before this to indicate that it is a Pacman package (giving.pkg.tar.zst);[61]though other compression formats are also valid, such as.pkg.tar.xz.[65]
Packages can be installed viapacman -Spackage name, andpacman -Syu can be used to perform a full system upgrade.[66]
As well as Arch Linux, Pacman is also used for installing packages underMSYS2 (a fork ofCygwin) on Windows.[67]
The following official binary repositories exist:[68]
core, which contains all the packages needed to set up a base system. Packages in this repository include kernel packages and shell languages.
extra, which holds packages not required for the base system, including desktop environments and programs.
multilib, a centralized repository for x86-64 users to more readily support 32-bit applications in a 64-bit environment. Packages in this repository includeSteam andWine.
Additionally, there aretesting repositories which include binary package candidates for other repositories. Currently, the following testing repositories exist:
core-testing, with packages forcore.
extra-testing, with packages forextra.
multilib-testing, with packages formultilib.
Thecore-staging andextra-staging repositories are used for some rebuilds to avoid broken packages intesting. The developers recommend not using these repositories for any reason, stating that any system updating from them will "unquestionably break."[69]
There are also two other repositories that include the newest version of certain desktop environments.
gnome-unstable, which contains packages of a new version of the software fromGNOME before being released intotesting.
kde-unstable, which contains packages of a new version ofKDE software before being released intotesting.
Theunstable repository was dropped in July 2008 and most of the packages moved to other repositories.[70] Thecommunity repository was merged withextra in May 2023.[71][72] In addition to the official repositories, there are a number of unofficial user repositories.
The most well-known unofficial repository is theArch User Repository, or AUR, hosted on the Arch Linux site. The AUR does not host binary packages but instead a collection of build scripts known asPKGBUILDs. PKGBUILD scripts are executed by themakepkg command, which downloads the necessary files from the software's repository and builds them using the Arch build system.
The Arch Linux repositories contain bothlibre andnonfree software, and the default Arch Linux kernel containsnonfree proprietary blobs, hence the distribution is not endorsed by the GNU project.[73] The linux-libre kernel can be installed from the AUR or by enablingParabola's repositories.
The Arch build system (ABS) is aports-like source packaging system that compiles source tarballs into binary packages, which are installed via Pacman.[74] The Arch build system provides a directory tree ofshell scripts, calledPKGBUILDs, that enable any and all official Arch packages to be customized and compiled. Rebuilding the entire system using modifiedcompiler flags is also supported by the Arch build system. The Arch build systemmakepkg tool can be used to create custompkg.tar.zst packages from third-party sources. The resulting packages are also installable and trackable via Pacman.[75][76]
In addition to the repositories, the Arch User Repository (AUR) provides user-made PKGBUILD scripts for packages not included within the main repositories. These PKGBUILD scripts simplify building from source by explicitly listing and checking for dependencies and configuring the install to match the Arch architecture.[77] Arch User Repository helper programs can further streamline the downloading of PKGBUILD scripts and associated building process. However, this comes at the cost of executing PKGBUILDs not validated by a trusted person; as a result, Arch developers have stated that the utilities for automatic finding, downloading and executing of PKGBUILDs will never be included in the official repositories.[78]
Users can create packages compatible with Pacman using the Arch build system and custom PKGBUILD scripts.[79] This functionality has helped support the Arch User Repository, which consists of user contributed packages to supplement the official repositories.[80]
The Arch User Repository provides the community with packages that are not included in the main repositories. Reasons for exclusion from the main repositories include:
Licensing issues: software that cannot be redistributed, but is free to use, can be included in the Arch User Repository since all that is hosted by the Arch Linux website is a shell script that downloads the actual software from elsewhere. Examples include proprietaryfreeware such asGoogle Earth andSpotify.
Modified official packages: the Arch User Repository also contains many variations on the official packaging as well as beta versions of software that is contained within the repositories as stable releases.
Popularity of the software: rarely used programs have not been added to the official repositories (yet).
Betas or "nightly" versions of software which are very new and thus unstable. Examples include the "firefox-nightly" package, which gives new daily builds of theFirefox web browser.
PKGBUILDs for any software can be contributed by ordinary users.[81] Any PKGBUILD that has 10 or more votes or more than 1% usage frompkgstats can be promoted into theextra repository.[82]
Arch Linux is working on making all official packagesreproducible.[83] This means that when a package is rebuilt in a different environment it should be bit-by-bit identical. This allows users and researchers to verify the integrity of the packages found in the official repository. The status of this effort can be monitored on the dedicatedstatus page.
The Arch Linux wiki maintains its own list of Arch-based distributions.[84]
There are several projects working on porting the Arch Linux ideas and tools to other kernels, includingPacBSD (formerly ArchBSD) andArch Hurd,[85] which are based on theFreeBSD andGNU Hurd kernels, respectively. There is also theArch Linux ARM project, which aims to port Arch Linux toARM-based devices, including theRaspberry Pi, as well as the Arch Linux 32 project, which continued support for systems with 32-bit only CPUs after the mainline Arch Linux project dropped support for the architecture in November 2017.[86][87]
Chris Smart from DistroWatch Weekly wrote a review about Arch Linux in January 2009.[100] DistroWatch Weekly reviewed Arch Linux again in September 2009 and in December 2015.[101][102]
In a 2023 DistroWatch poll, about half of the responders maintained that they were running either Arch (17%) or an Arch derivative (30%).[105] As of 2023, Arch also enjoys the highest average rating of any Linux distribution on DistroWatch with a rating of 9.34.[106]
^*"Copyright".Pacman Home Page.Archived from the original on 26 February 2011. Retrieved30 July 2020.Pacman is [...] and is licensed through the GNU General Public License, version 2 or later.
"COPYING".arch-install-scripts repository.Archived from the original on 29 April 2021. Retrieved30 July 2020.
^"Arch terminology - ArchWiki".Arch Linux Wiki.Archived from the original on 3 October 2022. Retrieved3 October 2022.Officially, the 'Arch' in "Arch Linux" is pronounced/ɑːrtʃ/ as in an "archer"/bowman, or "arch-nemesis", and not as in "ark" or "archangel".
^Ivan Jelic (10 March 2010)."Rolling with Arch Linux".LWN.net.Archived from the original on 20 October 2011. Retrieved30 September 2011.
^Linton, Susan (17 July 2015)."Debian Project Lead: Snappy and Mir Bad Ideas". OStatic.Archived from the original on 4 February 2017. Retrieved4 February 2017.One of the first questions wondered if McGovern was jealous of anything from any other distro. To that he answered Arch's wiki calling it "an absolutely amazing resource" that he himself uses.
^apeiro (Judd Vinet) (1 October 2007)."Arch Leadership".Arch Linux Forums.Archived from the original on 9 August 2011. Retrieved19 October 2009.
^Gaudreault, Stéphane (14 August 2012)."Migration to systemd".arch-dev-public (Mailing list).Archived from the original on 20 October 2020. Retrieved24 September 2020.
^Bartłomiej Piotrowski (25 January 2017)."Phasing out i686 support".Arch Linux.Archived from the original on 27 January 2017. Retrieved26 January 2017.
^Bartłomiej Piotrowski (8 November 2017)."The end of i686 support".Arch Linux.Archived from the original on 8 November 2017. Retrieved8 November 2017.
^"Arch Linux 32".archlinux32.org.Archived from the original on 26 January 2021. Retrieved22 April 2023.
^Bo Milanovich (8 March 2011)."Arch Linux". linuxdistroreview.com. Archived fromthe original on 21 February 2012. Retrieved30 September 2011.
^"Arch User Repository - ArchWiki".wiki.archlinux.org.Archived from the original on 14 July 2023. Retrieved11 July 2023.In the AUR, users are able to contribute their own package builds[.]
^Prasad (15 July 2021)."Valve Steam Deck is a handheld gaming PC that runs SteamOS".GSMArena.Archived from the original on 18 July 2021. Retrieved19 July 2021.The Steam Deck runs on Valve's SteamOS 3.0. This is primarily based on Arch Linux and uses the compatibility layer Proton to run games designed for Windows
^"Let's Talk To Linux Kernel Developer Greg Kroah-Hartman - Open Source Summit, 2019".YouTube. 10 September 2019.Archived from the original on 21 December 2021. Retrieved17 September 2019.[Arch developers'] idea of a constantly rolling, forward-moving system is the way to go. It's neutral, it's community-based, it has everything I need. It works really really well [...] Their Wiki is amazing. The documentation -- it's like one of the best resources out there these days. If you look up any userspace program and how to configure it and use it. Actually, the systemd Arch Wiki pages are one of the most amazing resources out there. [...] One of the main policies of Arch, or philosophies, is you stay as close to the upstream as possible. And as a developer, I want that. They're really good in feedback to the community. Because I want that testing -- I want to make sure that things are fixed. And if it is broken, I learn about it quickly and I fix it and push the stuff out. So that's actually a really good feedback loop.