The History and Overview of Arch Linux

What is Arch Linux ?

Arch Linux is a Linux distribution for i686 and x86-64 computers. It is composed predominantly of free and open-source software, and supports community involvement. The design approach of the development team 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. 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.

Arch Linux focuses on simplicity of design, meaning that the main focus involves creating an environment that is straight forward 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. This has earned it a reputation as a distribution for “intermediate and advanced Linux users who aren’t afraid of the command line”

Arch Linux
Developer Aaron Griffin and team
OS family Unix-like
Working state Current
Source model Open source
Initial release March11, 2002
Latest release (Rolling release) / Installation medium 2015.01.01
Marketing target General purpose
Update method Pacman
Package manager Pacman
Platforms i686, x86-64
Kernel type Monolithic (Linux)
Userland GNU
Default user interface Bash
License Free software (GPLand other licenses)
Official website

Arch Linux Package Management

To facilitate regular package changes, Pacman (abbreviated from “package manager”) was developed by Judd Vinet to provide Arch with its own package manager able to track dependencies.

Arch Linux Logo

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 either i686 or x86-64 architectures. It uses binary packages in the tar.xz format, with .pkg placed before this to indicate that it is a Pacman package (giving .pkg.tar.xz).

See also  Rename File on Linux MInt Using Double Click With Pause

Currently, the following basic official binary repositories exist:

  • 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.

In addition, there also exist testing repositories that 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.

The unstable repository was dropped in July 2008 and most of the packages moved to other repositories. 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, instead hosting a collection of build scripts known as PKGBUILDs.

Repository security
Until pacman version 4.0.0 Arch Linux’s package manager lacked support for signed packages. 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. 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.

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. 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.

See also  Choose Linux Mint Mate or Cinnamon or XFCE or KDE ?

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.

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. The PKGBUILD scripts simplify building from source by explicitly listing and checking for dependencies and configuring the install to match the Arch architecture.

The scripts are available for download from the Arch Linux web site. Arch User Repository helper programs can further streamline the downloading and building process. However, such tools that search, download and run PKGBUILD scripts automatically will never be included in the official repositories because of potential security risks.

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

The Arch User Repository provides the community with packages that are not included in the repositories. Reasons include:

  1. License 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 web site is a shell script that downloads the actual software from elsewhere. Examples include proprietary freeware such as Google Earth and RealPlayer.
  2. 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.
  3. Rarity of the software. Some new or rarely used programs have not been added to the official repositories (yet).

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.