Arch Linux
Arch Linux logo | |
Developer | Aaron Griffin and team[1] |
---|---|
OS family | Unix-like |
Working state | Current |
Source model | Free and open source software |
Initial release | March 11, 2002 |
Latest release | (Rolling release) / Installation CD 2010.05 |
Repository | |
Marketing target | General purpose |
Update method | Pacman |
Package manager | Pacman |
Platforms | i686, x86-64 |
Kernel type | Monolithic (Linux) |
Default user interface | Bash |
License | Various |
Official website | www.archlinux.org |
Arch Linux (or Arch, pronounced Template:IPA-en[2]) is a Linux distribution intended to be lightweight and simple.[3] The design approach of the development team focuses on simplicity, elegance, code correctness and minimalism.[4] "Simplicity", according to Arch, is defined as "...without unnecessary additions, modifications, or complications.." and is defined from a developer standpoint, rather than a user standpoint.[5]
Inspired by CRUX, another minimalist distribution, Judd Vinet started Arch Linux in March 2002. Vinet led the project until 1 October 2007, when he stepped down due to lack of time, transferring control of the project to Aaron Griffin.[6]
Design and principles
Arch is largely based around binary packages. Packages are targeted for i686 and 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.
The Arch focus on simplicity and economy for developers means, among other things, that the main effort in assisting the user is not expended in crafting GUI configuration tools — the package manager, for example, does not have an official graphical front-end — but making well-annotated configuration files and extensive use of shell scripts.[7] This has earned it a reputation as a distribution for "intermediate and advanced Linux users who aren't afraid of the command line".[8]
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[9]
init framework
Arch uses a BSD-style init framework, a tradeoff of flexibility for simplicity. It also includes and permits use of System V runlevels and the inittab file, but there is little differentiation between runlevels. This is because the modules and daemons loaded at startup are arranged very simply as arrays in the central configuration file, /etc/rc.conf, as opposed to System V's system of a directory for each runlevel containing a numbered symbolic link for each daemon.[10] There is also the ability to start processes asynchronously, which neither the original BSD init nor the original Sys V init have. See init for more detail on the differences between the two systems.
Installation
The Arch Linux website supplies ISO images that can be run from CD or USB. The Arch Linux installer is a shell script using dialog for user interaction. The default install is slim.[11] Further system customization and expansion (adding a window manager, desktop environment, etc.) must be done manually, installing packages downloaded from online repositories. Arch is therefore generally considered relatively involved to install, in comparison to other operating systems.[12]
An alternative to using CD or USB images for installation is to use the static version of the package manager Pacman, from within another GNU/Linux operating system.[13] The user can mount his or her newly formatted drive partition, and use Pacman with the appropriate command-line switch to have it use the mountpoint of the device as root for its operations. This way the base package group and any additional packages can be installed on the newly formatted partition by having Pacman retrieve them from its mirrors. However, there are further actions that need to be taken before the system is ready for use after this process, most notably installing a bootloader, and making various configurations to the new system.
Package management
Pacman
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. Arch Linux is primarily based on binary packages in the tar.gz and tar.xz format.[14]
Repositories
Currently, the following basic official 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 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 unstable repository was dropped in July 2008 and most of the packages moved to other repositories.[15] In addition to the official repositories, there are a number of unofficial user repositories, the most well-known being the Arch User Repository, or AUR, hosted on the Arch Linux site.
In addition to the other repositories, the French Arch Linux site also provides the archlinuxfr repository, which contains additional builds of certain AUR packages.
Repository security
Arch Linux has been criticized for a lack of signed packages.[16] Packages and metadata are 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.[17]
Arch Build System
The Arch Build System is a ports-like source packaging system that compiles source tarballs into binary packages, which are installed via Pacman.[18] 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 cleanly installable and trackable via Pacman.
Arch User Repository
In addition to the repositories, the Arch User Repository 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 http://aur.archlinux.org. 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.[19][specify]
The Arch User Repository provides the community with packages that are not included in the repositories. Reasons include:
- 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.
- 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. 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.
Versions
"Rolling releases"
Similar to Gentoo, and unlike other major distributions such as Ubuntu and Fedora, Arch Linux does not schedule releases for specific dates but uses a "rolling release" system, with new packages provided daily. Its package management allows users to keep systems up-to-date easily.[20] Rather than encouraging users to move between discrete releases, Arch Linux releases are simply snapshots of the current set of packages, sometimes with revised installation software. Therefore it makes no difference from which release Arch gets installed if updates are installed afterwards. In fact, some members of the Arch forums take pride in showing the age of the installation.
From version 2009.02 the goal is to bring coordinated releases following the rhythm of kernel releases, in order to provide optimal hardware support, this means a new release every 3 or 4 months.
As of March 2011, the latest image is 2010.05, dated 17 May 2010.[21]
Release history
Color | Meaning |
---|---|
Yellow | Old release |
Green | Current release |
Blue | Future release |
Version | Code name | Date | Notes |
---|---|---|---|
0.1[22] | Homer | 2002-03-11 | First release built from scratch. |
0.2[23] | Vega | 2002-04-17 | |
0.3[24] | Firefly | 2002-08-07 | |
0.4[25] | Dragon | 2002-12-18 | |
0.5[26] | Nova | 2003-07-21 | Support for PAM, LVM, GRUB. |
0.6[27] | Widget | 2004-03-01 | Support for JFS and XFS added. |
0.7[28] | Wombat | 2005-01-24 | |
0.8[29] | Voodoo | 2007-03-31 | |
2007.05[30] | Duke | 2007-05-17 | Pacman v3 |
2007.08[31] | Don't Panic | 2007-08-05 | |
2008.06[32] | Overlord | 2008-06-24 | Availability of USB disk images. |
2009.02[33] | 2009.02 | 2009-02-16 | Inclusion of AIF (Arch Linux Installation Framework). |
2009.08[34] | 2009.08 | 2009-08-10 | Pacman 3.3, Usage of new AIF installer, better boot device detection, better date/time setting, re-factored grub installation routines.[35] |
2010.05[36] | 2010.05 | 2010-05-17 | First snapshot with isohybrid support, dual arch images, using isolinux exclusively and pxe support. |
See also
References
- ^ Aaron Griffin, Lead Developer at ArchLinux
- ^ "[arch] Pronunciation of our beloved distribution's name". Osdir.com. 2005-08-24. Retrieved 2009-10-19.
- ^ "ArchWiki :: Beginners' Guide — ArchWiki". Wiki.archlinux.org. 2009-09-17. Retrieved 2009-10-19.
- ^ "The Arch Way". Wiki.archlinux.org. 2009-10-09. Retrieved 2009-10-19.
- ^ "Archway". phraktured.net. 2007-11-09. Retrieved 2009-10-19.
- ^ "Arch Linux Forums / Arch Leadership". Bbs.archlinux.org. Retrieved 2009-10-19.
- ^ "OSNews.com". OSNews.com. 2004-02-10. Retrieved 2009-10-19.
- ^ "PolishLinux.org Wiki: Archlinux". Wiki.polishlinux.org. Retrieved 2009-10-19.
- ^ http://phraktured.net/arch-way.html
- ^ "Rc.conf — ArchWiki". Wiki.archlinux.org. Retrieved 2009-10-19.
- ^ "ArchWiki :: Beginners Guide — ArchWiki". Wiki.archlinux.org. 2009-09-17. Retrieved 2009-10-19.
- ^ "Wordpress :: Arch 2008.06 Review". Celettu.wordpress.com. 2008-06-25. Retrieved 2009-10-19.
- ^ "ArchWiki :: Install From Existing Linux — ArchWiki". Wiki.archlinux.org. 2009-11-21. Retrieved 2009-12-05.
- ^ Pierre Schmitz (2010-03-23). "Switching to xz compression for new packages". Archlinux.org. Retrieved 2010-03-23.
- ^ "Arch Linux Newsletter 08-04-2008". Archlinux.org. Retrieved 2009-10-19. [dead link]
- ^ "Arch-general - Package signing 28-04-2010". pubbs.net. Retrieved 2010-09-15.
- ^ "Attacks on Package Managers". cs.arizona.edu. Retrieved 2010-09-14.
- ^ "ArchWiki :: Arch Build System — ArchWiki". Wiki.archlinux.org. Retrieved 2009-10-19.
- ^ "INTERVJU: Arch Linux: Popular KISS distro — Interview — Part II". Hardware.no. Retrieved 2009-10-19.
- ^ "Arch Linux Review". DVD-Guides.com. Retrieved 2009-10-19.
- ^ "2010.05 snapshots. Less is more". Arch Linux. 2010-05-17. Retrieved 2010-05-18.
- ^ Judd Vinet (2002-03-11) Arch Linux 0.1 Released.
- ^ Judd Vinet (2002-04-17) Arch Linux 0.2 Released.
- ^ Judd Vinet (2002-08-07) Arch Linux 0.3 Released.
- ^ Judd Vinet (2002-12-18) Arch Linux 0.4 Released.
- ^ Judd Vinet (2003-07-21) Arch Linux 0.5 Released.
- ^ Judd Vinet (2004-03-01) Arch Linux 0.6 Released.
- ^ Judd Vinet (2005-01-24) Arch Linux 0.7 (Wombat) Released!
- ^ Tobias Powalowski (2007-03-31) 0.8 Voodoo ISOs finally released!
- ^ Tobias Powalowski (2007-05-17) 2007.05 Duke ISOs released.
- ^ Tobias Powalowski (2007-08-05) 2007.08 Don't Panic ISOs released.
- ^ Simo Leone (2008-06-24) 2008.06 Overlord ISOs released.
- ^ Aaron Griffin (2009-02-16) 2009.02 ISO Release.
- ^ Dieter Plaetinck (2009-08-10) 2009.08 images.
- ^ "News - 2009.08 images". Arch Linux. 2009-08-10. Retrieved 2009-10-19.
- ^ Dieter Plaetinck (2010-05-17) 2010.05 snapshots. Less is more..
External links
- Official website
- Arch Linux at DistroWatch
- Interview with Judd Vinet about Arch Linux, a 2003 interview by DistroWatch
- The Big Arch Linux Interview, a 2005 interview by OSNews
- Interview: Arch Linux Team, a 2010 interview by OSNews