Arch Linux
Arch Linux (/ɑːrtʃ/)[4] is a Linux distribution for computers with x86-64 processors.[5] Arch Linux adheres to five principles: simplicity, modernity, pragmatism, user centrality and versatility. In practice, this means the project attempts to have minimal distribution-specific changes, minimal breakage with updates, pragmatic over ideological design choices, user-friendliness, and minimal bloat.[6]
Developer | Levente Polyak and others[lower-alpha 1] |
---|---|
OS family | Unix-like |
Working state | Current |
Source model | Open source |
Initial release | 11 March 2002 |
Latest release | Rolling release / installation medium 2020.08.01[1] |
Repository | |
Marketing target | General purpose |
Package manager | pacman, libalpm (back-end) [2] |
Platforms |
|
Kernel type | Monolithic (Linux) |
Userland | GNU |
Default user interface | Command-line interface (Bash) |
License | Free software (GNU GPL and other licenses)[3] |
Official website | www |
A package manager written specifically for Arch Linux, Pacman, is used to install, remove and update software packages.[7] Arch Linux uses a rolling release model, meaning there are no "major releases" of completely new versions of the system; a regular system update is all that is needed to obtain the latest Arch software; the installation images released every month by the Arch team are simply up-to-date snapshots of the main system components.[8]
Arch Linux has comprehensive documentation, which consists of a community wiki known as the ArchWiki.[9][10][11]
History
Inspired by CRUX, 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".[4][12]
Originally only for 32-bit x86 CPUs, the first x86_64 installation ISO was released in April 2006.[13]
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.[14]
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.[15] This change also led to a new 2-year term period being added to the Project Leader position.[16]
The end of i686 support was announced in January 2017, with the February 2017 ISO being the last one including i686[17] and making the architecture unsupported in November 2017.[18] Since then, the community derivative Arch Linux 32 can be used for i686 hardware.
Repository security
Until Pacman version 4.0.0[19], Arch Linux's package manager lacked support for signed packages.[20] 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.[21] 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 21 March 2012, every official package is signed.[22]
In June 2012, package signing verification became official and is now enabled by default in the installation process.[23][24]
Design and principles
Arch is largely based on binary packages. Packages target x86-64 microprocessors to assist performance on modern hardware. A ports/ebuild-like system is also provided for automated source compilation, known as the Arch Build System.[25]
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.[26] This has earned it a reputation as a distribution for "advanced users" who are willing to use the command line.[27]
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.
— Aaron Griffin[28]
Installation
The Arch Linux website supplies ISO images that can be run from CD or USB. After a user partitions and formats their drive, a simple command line script (pacstrap) is used to install the base system.[24] The installation of additional packages which are not part of the base system (for example, desktop environments), can be done with either pacstrap, or Pacman after booting (or chrooting) into the new installation.[29][30][7]
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.[31] The user can mount their newly formatted drive partition, and use pacstrap (or Pacman with the appropriate command-line switch) to install base and additional packages with the mountpoint of the destination device as the root 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.
Regardless of the selected installation type, further actions need to be taken before the new system is ready for use, most notably by installing a bootloader and configuring the new system with a system name, network connection, language settings, and graphical user interface.[32]
Arch Linux does not schedule releases for specific dates but uses a "rolling release" system where new packages are provided throughout the day. Its package management allows users to easily keep systems updated.[33]
Occasionally, manual interventions are required for certain updates, with instructions posted on the news section of the Arch Linux website.[34]
Package management
Arch Linux's only supported binary platform is x86_64. The Arch package repositories and User Repository (AUR) contain 58,000 binary and source packages, which comes close to Debian Linux's 68,000 packages; however, the two distributions' approaches to packaging differ, making direct comparisons difficult. For example, six out of Arch's 58,000 packages comprise the software Abiword, of which three in the user repository replace the canonical Abiword package with an alternative build type or version (such as sourcing from the latest commit to Abiword's source control repository), whereas Debian installs a single version of Abiword across seven packages.[35] The Arch User Repository also contains a writerperfect package which installs several document format converters, while Debian provides each of the more than 20 converters in its own subpackage.[36]
Pacman
To facilitate regular package changes, Pacman (a contraction of "package manager") was developed by Judd Vinet to provide Arch with its own package manager to track dependencies.[37] It is written in C.[38]
All packages are managed using the Pacman package manager. Pacman handles package installation, upgrades, removal, and downgrades, and features automatic dependency resolution. The packages for Arch Linux are obtained from the Arch Linux package tree and are compiled for the x86-64 architecture. It uses binary packages in the tar.zst
[39][40][41] (for zstd compression), with .pkg
placed before this to indicate that it is a Pacman package (giving .pkg.tar.zst
).[38]
Repositories
The following official binary repositories exist:[42]
- core, which contains all the packages needed to set up a base system
- extra, which holds packages not required for the base system, including desktop environments and programs
- community, which contains packages built and voted on by the community; includes packages that have sufficient votes and have been adopted by a "trusted user".
- multilib, a centralized repository for x86-64 users to more readily support 32-bit applications in a 64-bit environment.
Additionally, there are testing repositories which include binary package candidates for other repositories. Currently, the following testing repositories exist:
- testing, with packages for core and extra.
- community-testing, with packages for community.
- multilib-testing, with packages for multilib.
The staging and community-staging repositories are used for some rebuilds to avoid broken packages in testing.
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 software from GNOME before being released into testing.
- kde-unstable, which contains packages of a new version of KDE software before being released into testing.
The unstable repository was dropped in July 2008 and most of the packages moved to other repositories.[43] In addition to the official repositories, there are a number of unofficial user repositories.
The most well-known unofficial repository is the Arch User Repository, or AUR, hosted on the Arch Linux site. However, the AUR does not host binary packages, hosting instead a collection of build scripts known as PKGBUILDs.
The Arch Linux repositories contain both libre, and nonfree software, and the default Arch Linux kernel contains nonfree proprietary blobs, hence the distribution is not endorsed by the GNU project.[44]
Arch Build System (ABS)
The Arch Build System (ABS) is a ports-like source packaging system that compiles source tarballs into binary packages, which are installed via Pacman.[45] The Arch Build System provides a directory tree of shell scripts, called PKGBUILDs, that enable any and all official Arch packages to be customized and compiled. Rebuilding the entire system using modified compiler flags is also supported by the Arch Build System. The Arch Build System makepkg
tool can be used to create custom pkg.tar.zst
packages from third-party sources. The resulting packages are also installable and trackable via Pacman.[46][47]
Arch User Repository (AUR)
In addition to the repositories, the Arch User Repository (AUR) provides user-made PKGBUILD scripts for packages not included in the repositories. These PKGBUILD scripts simplify building from source by explicitly listing and checking for dependencies and configuring the install to match the Arch architecture.[48] 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.[49]
Users can create packages compatible with Pacman using the Arch Build System and custom PKGBUILD scripts.[50] This functionality has helped support the Arch User Repository, which consists of user contributed packages to supplement the official repositories.[51]
The Arch User Repository provides the community with packages that are not included in the repositories. Reasons 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 proprietary freeware such as Google Earth and RealPlayer.
- 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.
- Rarity 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 the Firefox web browser.
PKGBUILDs for any software can be contributed by ordinary users and any PKGBUILD that is not confined to the Arch User Repository for policy reasons can be voted into the community repositories.
Derivatives
There are several projects working on porting the Arch Linux ideas and tools to other kernels, including PacBSD (formerly ArchBSD) and Arch Hurd,[52] which are based on the FreeBSD and GNU Hurd kernels, respectively. There is also the Arch Linux ARM project, which aims to port Arch Linux to ARM-based devices, including the Raspberry 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.[53]
Reception
OSNews reviewed Arch Linux in 2002.[54] OSNews also later re-reviewed Arch Linux.[55][56][57][58][59]
LWN.net wrote a review about Arch Linux in 2005.[60] LWN.net also has a later review about Arch Linux.[61][62]
Tux Machines reviewed Arch Linux in 2007.[63]
Chris Smart from DistroWatch Weekly wrote a review about Arch Linux in January 2009.[64] DistroWatch Weekly reviewed Arch Linux again in September 2009 and in December 2015.[65][66]
Linux maintainer Greg Kroah-Hartman[67] has stated that he uses Arch and that it "works really really well," he also praised the Arch Wiki, and that the distribution stays close to upstream development, as well as the feedback loop with the community.[68]
Notes
- Levente Polyak is the lead developer of Arch Linux.
- i686 support is maintained by the Arch Linux 32 project.
- ARM support is maintained by the Arch Linux ARM project.
References
- "Arch Linux - Releases". archlinux.org. Archived from the original on 4 December 2015. Retrieved 5 August 2020.
- "Pacman Home Page". www.archlinux.org. Retrieved 9 May 2020.
-
- "Copyright". Pacman Home Page. Retrieved 30 July 2020.
- "COPYING". arch-install-scripts repository.
- "About mkinitcpio". Retrieved 30 July 2020.
- Aaron Griffin (24 August 2005). "Pronnounciation [sic] of our beloved distribution's name". Osdir.com. Archived from the original on 12 February 2012. Retrieved 19 October 2009.
- "About". Arch Linux. Archived from the original on 2 January 2017. Retrieved 27 September 2011.
- "Arch Linux Principles". ArchWiki. 16 September 2019. Archived from the original on 11 November 2019. Retrieved 13 November 2019.
- "Pacman Home Page". www.archlinux.org. Archived from the original on 26 February 2011. Retrieved 30 October 2019.
- Ivan Jelic (10 March 2010). "Rolling with Arch Linux". LWN.net. Archived from the original on 20 October 2011. Retrieved 30 September 2011.
- Smith, Jesse (21 December 2015). "Arch Linux - Feature Story". Archived from the original on 12 September 2018. Retrieved 17 January 2016.
- Linton, Susan (17 July 2015). "Debian Project Lead: Snappy and Mir Bad Ideas". OStatic. Archived from the original on 4 February 2017. Retrieved 4 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.
- "The Arch Way | Linux Journal". www.linuxjournal.com. Archived from the original on 30 October 2019. Retrieved 30 October 2019.
- "Interview with Judd Vinet". distrowatch.com. Archived from the original on 8 September 2017. Retrieved 30 October 2019.
- "Arch Linux - News: Official Arch64 install cd available". www.archlinux.org. Archived from the original on 12 June 2018. Retrieved 12 May 2019.
- apeiro (Judd Vinet) (1 October 2007). "Arch Leadership". Arch Linux Forums. Archived from the original on 9 August 2011. Retrieved 19 October 2009.
- "Arch Linux - News: The Future of the Arch Linux Project Leader". www.archlinux.org. Retrieved 24 June 2020.
- "DeveloperWiki:Project Leader - ArchWiki". wiki.archlinux.org. Retrieved 24 June 2020.
- Bartłomiej Piotrowski (25 January 2017). "Phasing out i686 support". Arch Linux. Archived from the original on 27 January 2017. Retrieved 26 January 2017.
- Bartłomiej Piotrowski (8 November 2017). "The end of i686 support". Arch Linux. Archived from the original on 8 November 2017. Retrieved 8 November 2017.
- "NEWS - pacman.git - The official pacman repository". git.archlinux.org. Retrieved 12 May 2019.
- "FS#5331 : Signed packages". bugs.archlinux.org. Archived from the original on 28 July 2011. Retrieved 12 May 2019.
- "Attacks on Package Managers". cs.arizona.edu. 10 July 2008. Archived from the original on 5 September 2010. Retrieved 14 September 2010.
- McRae, Allan (17 December 2011). "Pacman Package Signing – 4: Arch Linux". Archived from the original on 20 February 2012. Retrieved 29 February 2012.
- Gaetan Bisson (4 June 2012). "Having pacman verify packages". Arch Linux. Archived from the original on 6 June 2012. Retrieved 4 June 2012.
- Pierre Schmitz (22 July 2012). "Install media 2012.07.15 released". Arch Linux. Archived from the original on 12 December 2015. Retrieved 13 August 2012.
- Campbell, Alex; Hacker, Tech; PT, PCWorld | (2 November 2016). "5 reasons to opt for a Linux rolling distro vs. a standard release". PCWorld. Retrieved 12 May 2019.
- "The Arch Way". ArchWiki. 9 October 2009. Archived from the original on 18 April 2012. Retrieved 18 March 2013.
- Williams, rew; April 2020, Brian Turner 16. "Best Linux distros of 2020: for beginners and advanced users". TechRadar. Archived from the original on 21 April 2020. Retrieved 17 April 2020.
- "FS#43302 - [pacman] provide workaround for removing --asroot from makepkg". arch linux. Retrieved 4 July 2020.
- "pacman - ArchWiki". wiki.archlinux.org. Archived from the original on 18 August 2017. Retrieved 13 September 2019.
- "General recommendations - ArchWiki". wiki.archlinux.org. Archived from the original on 21 September 2019. Retrieved 13 September 2019.
- "Install From Existing Linux". ArchWiki. 21 November 2009. Archived from the original on 26 January 2013. Retrieved 5 December 2009.
- "Installation guide - ArchWiki". wiki.archlinux.org. Retrieved 13 September 2019.
- "Arch Linux Review". DVD-Guides.com. 2007. Archived from the original on 14 September 2017. Retrieved 13 September 2017.
- "News". archlinux.org. Archived from the original on 15 August 2018. Retrieved 15 August 2018.
- "Debian -- Package Search Results -- abiword". packages.debian.org. Archived from the original on 7 July 2019. Retrieved 12 May 2019.
- "Debian -- Package Search Results -- writerperfect". packages.debian.org. Archived from the original on 8 July 2018. Retrieved 12 May 2019.
- Eugenia Loli (21 March 2005). "Arch Linux: Why It Rocks". OSNews. Archived from the original on 30 September 2011. Retrieved 30 September 2011.
- "pacman". ArchWiki. 6 August 2017. Archived from the original on 18 August 2017. Retrieved 20 August 2017.
- "Arch Linux Nears Roll-Out Of Zstd Compressed Packages For Faster Pacman Installs - Phoronix". www.phoronix.com. Retrieved 31 October 2019.
- Broda, Robin (24 March 2019). "[arch-dev-public] RFC: (devtools) Changing default compression method to zstd". Archived from the original on 21 October 2019. Retrieved 31 October 2019.
- "Arch Linux - News: Required update to recent libarchive". www.archlinux.org. Archived from the original on 21 October 2019. Retrieved 31 October 2019.
- "Official Repositories". ArchWiki. Archived from the original on 18 November 2012. Retrieved 23 November 2012.
- "Arch Linux Newsletter 08-04-2008". Arch Linux. 4 August 2008. Archived from the original on 3 June 2013. Retrieved 19 October 2009.
- "Explaining Why We Don't Endorse Other Systems". GNU Project. Archived from the original on 24 April 2011. Retrieved 28 September 2011.
- "Arch Build System". ArchWiki. Archived from the original on 17 January 2013. Retrieved 19 October 2009.
- "Makepkg". ArchWiki. Archived from the original on 26 January 2013. Retrieved 15 February 2013.
- "Arch Linux - News: Now using Zstandard instead of xz for package compression". www.archlinux.org. Retrieved 13 July 2020.
- "AUR (en) - Home". AUR. Archived from the original on 3 November 2016. Retrieved 5 February 2014.
- Robin Heggelund Hansen (25 March 2008). "Arch Linux: Popular KISS distro – Interview – Part II". Hardware.no. Archived from the original on 2 April 2009. Retrieved 19 October 2009.
- "Using the Arch Build System". library.linode.com. 8 September 2011. Archived from the original on 27 September 2011. Retrieved 30 September 2011.
- Bo Milanovich (8 March 2011). "Arch Linux". linuxdistroreview.com. Archived from the original on 21 February 2012. Retrieved 30 September 2011.
- "Arch Hurd". Arch Hurd. Archived from the original on 26 March 2014. Retrieved 25 March 2014.
- "Arch Linux ARM". Arch Linux ARM. Archived from the original on 28 March 2014. Retrieved 25 March 2014.
- "Introduction to Arch Linux – OSnews". www.osnews.com. Archived from the original on 12 May 2019. Retrieved 12 May 2019.
- "Arch Linux: A Better Distribution – OSnews". www.osnews.com. Archived from the original on 12 May 2019. Retrieved 12 May 2019.
- "Arch Linux: An End To My Distro Shuffle? – OSnews". www.osnews.com. Archived from the original on 12 May 2019. Retrieved 12 May 2019.
- "A Week in the Life of an Arch Linux Newbie – OSnews". www.osnews.com. Archived from the original on 12 May 2019. Retrieved 12 May 2019.
- "Arch Linux: Why It Rocks – OSnews". www.osnews.com. Archived from the original on 12 May 2019. Retrieved 12 May 2019.
- "Watching the Evolution of Arch Linux – OSnews". www.osnews.com. Archived from the original on 12 May 2019. Retrieved 12 May 2019.
- "Arch Linux for Power Users [LWN.net]". lwn.net. Archived from the original on 12 May 2019. Retrieved 12 May 2019.
- "Rolling with Arch Linux [LWN.net]". lwn.net. Archived from the original on 7 February 2019. Retrieved 12 May 2019.
- "The grumpy editor's Arch Linux experience [LWN.net]". lwn.net. Archived from the original on 15 November 2019. Retrieved 12 May 2019.
- Fallen Under the Spell of Arch Voodoo | Tux Machines Archived 20 June 2018 at the Wayback Machine 20 April 2007
- "Arch Linux in review". distrowatch.com. Archived from the original on 20 June 2018. Retrieved 12 May 2019.
- "A distro odyssey, part 2 - the Arch way". distrowatch.com. Archived from the original on 20 June 2018. Retrieved 12 May 2019.
- "Arch Linux". distrowatch.com. Archived from the original on 12 September 2018. Retrieved 12 May 2019.
- "git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/blob - MAINT…". archive.is. 13 January 2013. Archived from the original on 13 January 2013. Retrieved 30 October 2019.
- "Let's Talk To Linux Kernel Developer Greg Kroah-Hartman - Open Source Summit, 2019". 10 September 2019. Retrieved 17 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.