Arch Linux

Arch Linux
Developer Aaron Griffin and others[lower-alpha 1]
OS family Unix-like
Working state Current
Source model Open source
Initial release March 11, 2002 (2002-03-11)
Latest release Rolling release / installation medium 2018.10.01[1]
Marketing target General purpose
Package manager pacman
Platforms
Kernel type Monolithic (Linux)
Userland GNU
Default user interface CLI
License Free software (GPL and other licenses)[2]
Official website www.archlinux.org

Arch Linux (or Arch /ɑːr/)[3] is a Linux distribution for computers based on x86-64 architectures.[4]

Arch Linux is composed predominantly of free and open-source software,[5] and supports community involvement.[6]

The design approach of the development team follows the KISS principle ("keep it simple, stupid") as the general guideline, and focuses on elegance, code correctness, minimalism and simplicity, and expects the user to be willing to make some effort to understand the system's operation.[7] A package manager written specifically for Arch Linux, pacman, is used to install, remove and update software packages.

Arch Linux uses a rolling release model, such that a regular system update is all that is needed to obtain the latest Arch software; the installation images released by the Arch team are simply up-to-date snapshots of the main system components.[8]

Arch Linux has comprehensive documentation in the form 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. Originally only for 32-bit x86 CPUs, the first x86_64 installation ISO was released in April 2006.[12]

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.[13]

The end of i686 support was announced in January 2017, with the February 2017 ISO being the last one including i686[14] and making the architecture unsupported in November 2017.[15]

Repository security

Until pacman version 4.0.0[16] Arch Linux's package manager lacked support for signed packages.[17] 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 can compromise the integrity of a system.[18] 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.[19]

In June 2012, package signing verification became official and is now enabled by default in the installation process.[20][21]

Design and principles

Arch is largely based around 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.

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.[7] This has earned it a reputation as a distribution for "intermediate and advanced Linux users who aren't afraid of the command line".[22]

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[23]

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.[21] 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.

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.[24] 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, creating an initramfs, and configuring the new system.

Package management

Arch Linux has 58,000 binary and source packages, which matches approximately Debian Linux at 68,000 packages. The only supported binary platform is x86_64. The approach to packaging is quite different though. To take an example software Abiword, which is 5 packages out of the 58,000. Arch Linux has one binary package to provide Abiword. Arch has 3 packages in the user repository with different build types and versions, e.g. the current head of trunk version. Also in the user repository in the writerperfect package are the document converters.[25][26][27] Debian splits writerperfect in more than 20 binary packages, and abiword in 7. 9 out of the 68,000 can be attributed to providing Abiword.[28][29]

Pacman

To facilitate regular package changes, pacman (The Arch Package Manager, acronym over "package manager") was developed by Judd Vinet to provide Arch with its own package manager able to track dependencies.[30] It is written in C.[31]

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.xz format,[32] with .pkg placed before this to indicate that it is a pacman package (giving .pkg.tar.xz).[31]

Repositories

The following official binary repositories exist:[33]

  • 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.[34] 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.

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.[35] 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.xz packages from third-party sources. The resulting packages are also installable and trackable via pacman.[36]

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.[37] 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.[38]

Users can create packages compatible with pacman using the Arch Build System and custom PKGBUILD scripts.[39] This functionality has helped support the Arch User Repository, which consists of user contributed packages to supplement the official repositories.[40]

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 multiple distributions which either build on top of Arch Linux or are based on its repositories. Notable derivatives include:

NameKernelHardware archDefault userlandDescriptions
Antergos Generic Linux kernelx64GNOME a successor of Cinnarch that offers a graphical installer; uses the stock Arch Linux repositories along its own.
Arch Hurd GNU HurdUnknownText mode An Arch derivative using a different kernel, GNU Hurd.
Arch Linux 32 Generic Linux kerneli686 (32-bit x86)Text mode A community-supported continuation of Arch Linux for 32-bit only CPUs. Created in 2017 when official support for i686 was discontinued in November 2017.[41]
Arch Linux ARM Generic Linux kernelARMText mode An Arch Linux derivative that tries to port the distribution to many ARM computers, originated from the developers at ArchMobile and PlugApps. It has been ported to some ARMv5, ARMv6, ARMv7 and ARMv8 devices, such as BeagleBoard, CuBox-i, PandaBoard, Raspberry Pi, and TrimSlice
ArchBang Generic Linux kernelx64Openbox A variant that uses Openbox as the desktop environment and emphasizes speed; uses the stock Arch Linux repositories.
ArchLabs Linux Generic Linux kernel x64 Openbox A variant that uses Openbox as the desktop environment. Emphasis on speed and easy installation of Arch Linux. Uses the stock Arch Linux repositories and the AUR as well as their own ArchLabs repository.
Chakra Linux Generic Linux kernelx64Qt Originally derived from Arch Linux, with the latest KDE. For now uses the pacman utility for package management. Strives to be Qt-only.
LinHES Generic Linux kernelx64Enlightenment Linux Home Entertainment Server, Designed for use on home theater PCs (HTPCs), providing applications for recording TV and acting as a sound and video center
Manjaro Linux Generic Linux kernelx64Xfce, Plasma 5, GNOME An Arch Linux-based distribution with a graphical installer, additional GUI tools for package management and system tuning; provides many preconfigured popular desktop environments; updates from own package repository that is delayed for stability reasons.
PacBSD BSDUnknownUnknown a FreeBSD derivative, which builds on top of the package system of Arch Linux
Parabola Linux-librex64, ARMv7MATE An Arch community-driven distribution that is fully conformant with the GNU Free System Distribution Guidelines, uses the Linux-libre kernel and excludes blobs including firmware normally found in Arch

Versions

Rolling releases

Similar to Tumbleweed and Gentoo, and unlike other major distributions such as Debian, Ubuntu, or Fedora, Arch Linux does not schedule releases for specific dates but uses a "rolling release" system, with new packages provided throughout the day. Its package management allows users to easily keep systems updated.[42]

Monthly updated ISO installation images are released on every first week of a month.[1] They contain the latest software from the stable repositories and stay unchanged until the following month. In most cases, older versions of the installation image may be used to install Arch Linux. Since the software is downloaded over the internet, a fresh installation always contains the newest software, although an update to the keys may be necessary in order to verify the software.

Occasionally, manual interventions are required for certain updates, with instructions posted on the news section of the Arch Linux website.[43]

Other platforms

There are several projects working on porting the Arch Linux ideas and tools to other kernels, including PacBSD (formerly ArchBSD)[44] and Arch Hurd,[45] which are based on the FreeBSD and GNU Hurd kernels respectively. There is also the Arch Linux ARM[46] project, which aims to port Arch Linux to ARM-based devices, including the Raspberry Pi, as well as the Arch Linux 32 project, which continues support for systems with 32-bit only CPUs after the mainline Arch Linux project dropped support for the architecture in November 2017.

Reception

OSNews reviewed Arch Linux in 2002:[47]

In closing I just wanted to ask all you who would be interested to help this project because they have a only have SMALL selection of packages and if they could get more they would be very popular IMHO.

OSNews also later re-reviewed Arch Linux.[48][49][50][51][52]

LWN.net wrote review about Arch Linux in 2005:[53]

Arch Linux is a clean, powerful distribution. Apart from the two package management utilities of pacman and pkgbuild, the developers have resisted any temptation to implement package customizations or add new utilities. As such, the system requires a fair amount of post-install tweaking to bring it to a usable level. Security updates are handled in a style of FreeBSD's ports of constantly updating packages to their latest versions. This may occasionally break the system, but problems are usually fixed in a reasonably short time. One area where Arch Linux trails behind Gentoo is documentation; except for the two man pages for pacman and pkgbuild, the installation manual and a sparse wiki, there is little else to guide novice users to configure their Arch Linux system. On the other hand, the distribution has active user forums and mailing lists, as well as several international community sites in German, Italian and Polish.

LWN.net also has a later review about Arch Linux.[54][55]

Tux Machines reviewed Arch Linux:[56]

I think Arch's most significant strong point is in the fact that it's so customizable. Unlike some distros that install everything or offer rigid defaults, one installs just what they need and want with Arch. With the surprisingly complete repos, one can install how little or much software they choose. With the trend in Linux these days of making things so easy for the newcomer, sometimes one loses most of the choices once offered. So, Arch Linux is a refreshing change of pace. What user configurations are needed are not complicated and sane defaults or useful real-world examples are offered for most. All my hardware was auto-detected, so no configuration was needed in that area. My only complaint is I'm going to have to do some more work on the fonts. Whereas the fonts aren't what one might classify as ugly, they aren't as pretty as on some systems. I would also suggest they dress-up KDE a bit more.

Chris Smart from DistroWatch Weekly wrote a review about Arch Linux in January 2009:[57]

The "keep it simple" philosophy of Arch Linux really shines through in all aspects of this distribution. It lets the user control the system and doesn't do anything unless told to. It has the speed and convenience of binary with the power of source and is very flexible when it comes to optional dependencies. Being a rolling release, the packages are also reasonably up-to-date. Other than the problem with the Intel video driver, I have not had any issues with the quality of the packages. Still, I have to wonder how well a smaller distribution like this can provide overall stability. Perhaps time will tell. It also remains to be seen how well Pacman will perform after installing and removing thousands of packages. Certainly, Arch Linux isn't for everybody, no distribution is, but it sure is plenty of fun and you learn a lot. If you're the kind of person who likes to fiddle and tweak your system, then definitely give it a shot. Once you have your system up and running the way you want, it's very easy to maintain and it feels great. If you've been tempted to try it out, there is a Wiki page listing how it compares to others. As for my dream distribution, Arch Linux comes pretty darn close.

DistroWatch Weekly reviewed Arch Linux again in September 2009 and in December 2015.[58][59]

See also

Notes

  1. Aaron Griffin is the lead developer of Arch Linux.
  2. i686 support is maintained by the Arch Linux 32 project.
  3. ARM support is maintained by the Arch Linux ARM project.

References

  1. 1 2 "Arch Linux - Releases". archlinux.org. Retrieved 2018-10-02.
  2. "Licenses". ArchWiki. 2011-09-24. Retrieved 2011-10-02.
  3. Aaron Griffin (2005-08-24). "Pronnounciation [sic] of our beloved distribution's name". Osdir.com. Retrieved 2009-10-19.
  4. "About". Arch Linux. Retrieved 2011-09-27.
  5. "Explaining Why We Don't Endorse Other Systems". GNU Project. Retrieved 2011-09-28.
  6. "Arch Linux". DistroWatch. Retrieved 2011-09-28.
  7. 1 2 "The Arch Way". ArchWiki. 2009-10-09. Retrieved 2013-03-18.
  8. Ivan Jelic (2010-03-10). "Rolling with Arch Linux". LWN.net. Retrieved 2011-09-30.
  9. Smith, Jesse (December 21, 2015). "Arch Linux - Feature Story". Retrieved January 17, 2016.
  10. "ArchWiki:About". ArchWiki. Arch Linux. Retrieved January 17, 2016.
  11. Linton, Susan (July 17, 2015). "Debian Project Lead: Snappy and Mir Bad Ideas". OStatic. Retrieved February 4, 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.
  12. Jason Chu (2006-04-12). "Official Arch64 install cd available". Arch Linux.
  13. apeiro (Judd Vinet) (2007-10-01). "Arch Leadership". Arch Linux Forums. Retrieved 2009-10-19.
  14. Bartłomiej Piotrowski (2017-01-25). "Phasing out i686 support". Arch Linux.
  15. Bartłomiej Piotrowski (2017-11-08). "The end of i686 support". Arch Linux.
  16. "Pacman NEWS file as of 4.0.0". Retrieved 2011-10-14.
  17. "FS#5331 - Signed packages". Retrieved 2011-08-07.
  18. "Attacks on Package Managers". cs.arizona.edu. 2008-07-10. Archived from the original on 2010-09-05. Retrieved 2010-09-14.
  19. McRae, Allan (2011-12-17). "Pacman Package Signing – 4: Arch Linux". Retrieved 2012-02-29.
  20. Gaetan Bisson (2012-06-04). "Having pacman verify packages". Arch Linux. Retrieved 2012-06-04.
  21. 1 2 Pierre Schmitz (2012-07-22). "Install media 2012.07.15 released". Arch Linux. Retrieved 2012-08-13.
  22. "Archlinux". Polish Linux Wiki. Archived from the original on 2 April 2014. Retrieved 6 June 2018.
  23. Aaron Griffin (2007-11-09). "Archway". phraktured.net. Archived from the original on 2015-02-06. Retrieved 2012-01-22.
  24. "Install From Existing Linux". ArchWiki. 2009-11-21. Retrieved 2009-12-05.
  25. abiword arch package
  26. Abiword in AUR
  27. writerperfect document converters
  28. writerperfect in debian
  29. AbiWord in Debian
  30. Eugenia Loli (2005-03-21). "Arch Linux: Why It Rocks". OSNews. Retrieved 2011-09-30.
  31. 1 2 "pacman". ArchWiki. 6 August 2017. Retrieved 20 August 2017.
  32. Schmitz, Pierre (2010-03-23). "Switching to xz compression for new packages". Arch Linux. Archived from the original on 28 March 2010. Retrieved 2017-09-12.
  33. "Official Repositories". ArchWiki. Retrieved 2012-11-23.
  34. "Arch Linux Newsletter 08-04-2008". Arch Linux. 2008-08-04. Archived from the original on 2013-06-03. Retrieved 2009-10-19.
  35. "Arch Build System". ArchWiki. Retrieved 2009-10-19.
  36. "Makepkg". ArchWiki. Retrieved 2013-02-15.
  37. "AUR (en) - Home". AUR. Retrieved 2014-02-05.
  38. Robin Heggelund Hansen (25 March 2008). "Arch Linux: Popular KISS distro – Interview – Part II". Hardware.no. Retrieved 2009-10-19.
  39. "Using the Arch Build System". library.linode.com. 2011-09-08. Retrieved 2011-09-30.
  40. Bo Milanovich (2011-03-08). "Arch Linux". linuxdistroreview.com. Archived from the original on 2012-02-21. Retrieved 2011-09-30.
  41. Piotrowski, Bartłomiej (8 November 2017). "The end of i686 support". Arch Linux. Retrieved 12 June 2018.
  42. "Arch Linux Review". DVD-Guides.com. 2007. Retrieved 2017-09-13.
  43. "News". archlinux.org. Retrieved 15 August 2018.
  44. "Arch BSD". Arch BSD. Retrieved 2014-03-25.
  45. "Arch Hurd". Arch Hurd. Retrieved 2014-03-25.
  46. "Arch Linux ARM". Arch Linux ARM. Retrieved 2014-03-25.
  47. Introduction to Arch Linux, OSNews
  48. Arch Linux: A Better Distribution, OSNews
  49. Arch Linux: An End To My Distro Shuffle?, OSNews
  50. A Week in the Life of an Arch Linux Newbie, OSNews
  51. Arch Linux: Why It Rocks, OSNews
  52. Watching the Evolution of Arch Linux, OSNews
  53. Arch Linux for Power Users [LWN.net]
  54. Rolling with Arch Linux [LWN.net]
  55. The grumpy editor's Arch Linux experience [LWN.net]
  56. Fallen Under the Spell of Arch Voodoo | Tux Machines
  57. DistroWatch Weekly, Issue 286, 19 January 2009
  58. DistroWatch Weekly, Issue 320, 14 September 2009
  59. DistroWatch Weekly, Issue 641, 21 December 2015
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.