Arch compared to other distributions
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary end
This page attempts to draw a comparison between Arch Linux and other popular GNU/Linux distributions and UNIX-like operating systems. The summaries that follow are brief descriptions that may help a person decide if Arch Linux will suit their needs. Although reviews and descriptions can be useful, first-hand experience is invariably the best way to compare distributions.
Source-based distributions are highly portable, giving the advantage of controlling and compiling the entire OS and applications for a particular machine architecture and usage scheme, with the disadvantage of the time-consuming nature of source compilation. The Arch base and all packages are compiled for i686 and x86-64 architectures, offering a potential performance boost over i386/i486/i586 binary distributions, with the added advantage of expedient installation.
Both Arch Linux and Gentoo Linux are rolling release systems, making packages available to the distribution a short time after they are released upstream. The Gentoo packages and base system are built directly from source code according to user-specified 'USE flags'. Arch provides a ports-like system for building packages from source, though the Arch base system is designed to be installed as pre-built i686/x86_64 binary. This generally makes Arch quicker to build and update, and allows Gentoo to be more systemically customizable. Arch supports i686 and x86_64 while Gentoo officially supports x86, PPC, SPARC, Alpha, AMD64, ARM, MIPS, HP/PA, S/390, sh, and Itanium architectures. Because both the Gentoo and Arch installations only include a base system, both are considered to be highly customizable. Gentoo users will generally feel quite comfortable with most aspects of Arch.
Sorcerer/Lunar-Linux/Source Mage (SLS) are all source-based distributions originally related to one another. SLS distributions use a rather simple set of script files to create package descriptions, and use a global configuration file to configure the compilation process, much like the Arch Build System. The SLS tools do full dependency checking, including handling optional features, package tracking, removal and upgrading. There are no binary packages for any of the SLS family, although they all provide the ability to roll back to earlier installed packages easily.
The installation process involves configuring a simple base system from the shell and ncurses menus, then optionally recompiling the base system afterward. Like Arch, there is no default WM/DE/DM, and Xorg is not included in the base installation. Several X server alternatives are available (X.Org 6.8 or 7, XFree86).
SLS has a very complicated history. Perhaps the best write-up about it can be found at the SourceMage wiki.
The minimalist distributions are quite comparable to Arch, sharing several similarities. All are considered 'simple' from a technical standpoint.
LFS, (or Linux From Scratch) exists simply as documentation. The book instructs the user on obtaining the source code for a minimal base package set for a functional GNU/Linux system, and how to manually compile, patch and configure it from scratch. LFS is as minimal as it gets, and offers an excellent and educational process of building and customizing a base system. Arch provides these very same packages, plus a BSD-style init, a few extra tools and the powerful pacman package manager as its base system, already compiled for i686/x86-64. LFS provides no online repositories; sources are manually obtained, compiled and installed with make. (Several manual methods of package management exist, and are mentioned in LFS Hints). Along with the minimal Arch base system, the Arch community and developers provide and maintain many thousands of binary packages installable via pacman as well as PKGBUILD build scripts for use with the Arch Build System. Arch also includes the makepkg tool for expediently building or customizing
.pkg.tar.xz packages, readily installable by pacman. Judd Vinet built Arch from scratch, and then wrote pacman in C. Historically, Arch was sometimes humorously described simply as "Linux, with a nice package manager."
Before creating Arch, Judd Vinet admired and used CRUX; a minimalist distribution created by Per Lidén. Originally inspired by ideas in common with CRUX, Arch was built from scratch, and pacman was then coded in C. The two share some guiding principles: for instance, both are architecture-optimized, minimalist and K.I.S.S.-oriented. Both ship with ports-like systems, use *BSD-style init systems and, like *BSD, both provide a minimal base environment to build upon. Arch features pacman, which handles binary system package management and works seamlessly with the Arch Build System. CRUX uses a community contributed system called prt-get, which, in combination with its own ports system, handles dependency resolution, but builds all packages from source (though the CRUX base installation is binary). Arch officially supports x86-64 and i686 only, whereas CRUX officially offers i686, as well as community-developed x86-64, PPC and 64-bit PPC.
Arch uses a rolling-release system and features a large array of binary package repositories as well as the Arch User Repository. CRUX provides a more slimmed-down officially supported ports system in addition to a comparatively modest community repository.
- Slackware and Arch are quite similar in that both are simple distributions focused on elegance and minimalism.
- Slackware is famous for its lack of branding and completely vanilla packages, from the kernel up. Arch typically applies patching only to avoid severe breakage or to ensure packages will compile cleanly.
- Both use BSD-style init scripts.
- Arch supplies a package management system in pacman which, unlike Slackware's standard tools, offers automatic dependency resolution and allows for more automated system upgrades. Slackware users typically prefer their method of manual dependency resolution, citing the level of system control it grants them, as well as Slackware's excellent supply of pre-installed libraries and dependencies.
- Arch is a rolling-release system. Slackware is seen as more conservative in its release cycle, preferring proven stable packages. Arch is more 'bleeding-edge' in this respect.
- Arch Linux provides many thousands of binary packages within its official repositories whereas Slackware official repositories are more modest.
- Arch offers the Arch Build System, an actual ports-like system and also the AUR, a very large collection of PKGBUILDs contributed by users. Slackware offers a similar, though slimmer system at slackbuilds.org which is a semi-official repository of Slackbuilds, which are analogous to Arch PKGBUILDs. Slackware users will generally be quite comfortable with most aspects of Arch.
These distributions offer a broad range of advantages and strengths, and can be made to serve most operating system uses.
- Debian is a much larger project and community and features stable, testing, and unstable branches, offering over 20,000 binary packages. The available number of Arch binary packages is more modest. However, when including the AUR, the quantities are very comparable.
- Debian has a more vehement stance on free software. Arch is more lenient, and therefore inclusive, concerning 'non-free' packages as defined by GNU.
- Debian's design approach focuses more on stability and stringent testing. Arch is focused more on the philosophy of simplicity, minimalism, and offering bleeding edge software. Arch packages are more current than Debian Stable and Testing, being more comparable to the Debian Unstable branch.
- Both Debian and Arch offer well-regarded package management systems.
- Arch is a rolling release, whereas Debian Stable is released with "frozen" packages.
- Debian is available for many architectures, including alpha, arm, hppa, i386, x86_64, ia64, m68k, mips, mipsel, powerpc, s390, and sparc, whereas Arch is i686 and x86_64 only.
- Arch provides more expedient support for building custom, installable packages from outside sources, with a ports-like package build system. Debian does not offer a ports system, relying instead on its huge binary repositories.
- The Arch installation system only offers a minimal base, transparently exposed during system configuration, whereas Debian's methods offer a more automatically configured approach as well as several alternative methods of installation.
- Debian utilizes the SysVinit, whereas Arch uses a simpler *BSD-style init.
- Arch keeps patching to a minimum, thus avoiding problems that upstream are unable to review, whereas Debian patches its packages more liberally.
- Fedora is community developed, yet corporately backed by Red Hat, and has continually been one of the most popular distributions to date. It is often presented as a bleeding edge testbed release system; Fedora packages and projects migrate to RHEL and some eventually become adopted by other distributions. Arch too is generally considered bleeding edge, although it is a rolling-release and does not serve as a testing branch for another distribution.
- Fedora boasts a massive community, many pre-built packages and excellent support.
- Fedora packages are RPMs, using the YUM package manager, and an official graphical package tool (Packagekit) is also available. Arch uses pacman to manage simple tarball packages and does not officially support a graphical frontend.
- Fedora refuses to include MP3 and other non-free media support due to its dedication to include only free software, though third-party repositories are available for such packages. Arch is more lenient in its disposition toward MP3 and non-free software, leaving the discernment to the user.
- Fedora offers both a graphical and a textual installer which provide a desktop environment including a very modest assortment of default packages to build upon or customize. Arch provides an ncurses-based installer of a minimal base system only.
- Fedora has a scheduled release cycle, but officially supports version upgrades. Arch is a rolling-release system.
- The Arch project is geared more toward simplicity, lightweight elegance and empowering the user, whereas Fedora focuses more on community development and systemic innovation.
- Arch features a ports system, whereas Fedora does not.
- Both Arch and Fedora communities are strongly encouraged to contribute to project development.
- Fedora has earned much community recognition for integration of SELinux, GCJ compiled packages (to remove the need for Sun's JRE), and prolific upstream contribution.
- Arch is text-based and command-line oriented.
- Frugalware has adopted Arch's pacman as its package manager, but uses bzipped tarballs. In contrast, Arch uses xz compressed (lzma) tarballs, for the purpose of expedience of installation.
- Frugalware doesn't support the JFS filesystem by default.
- Frugalware is no longer based on Slackware but is rather a distribution of its own, and is promoted as i686 optimized.
- Arch is a fundamentally different system, being installed as a minimal base environment and expanded with pacman according to the user's choices and needs. Frugalware is installed from a DVD, with default software choices and desktop environment chosen for the user already.
- Frugalware has a scheduled release cycle. Again, Arch is more focused on simplicity, minimalism, code-correctness and bleeding edge packages within a rolling-release model.
Sometimes called "newbie distros", the beginner-friendly distributions share a lot of similarities, though Arch is quite different from them. Arch may be a better choice if you want to learn about GNU/Linux by building up from a very minimal base, as an installation of Arch installs very few packages in comparison. Specific differences between distributions are described below.
- Ubuntu is an immensely popular Debian-based distribution commercially sponsored by Canonical Ltd., while Arch is an independently developed system built from scratch.
- Both projects have very different goals and are targeted at a different user base. Arch is designed for users who desire a do-it-yourself approach, whereas Ubuntu provides an autoconfigured system which is meant to be more of a distribution for 'all'. Arch is presented as a much more minimalist design from the base installation onward, relying heavily on the user to customize it to their own specific needs. In general, developers and tinkerers will probably like Arch better than Ubuntu, though many Arch users have started on Ubuntu and eventually migrated to Arch.
- Ubuntu moves between discrete releases every 6 months, whereas Arch is a rolling-release system.
- Arch offers a ports-like package build system, while Ubuntu does not.
- The two communities differ in some ways as well. The Arch community is much smaller and is strongly encouraged to be proactive; a large percentage contribute to the distribution. In contrast, the Ubuntu community is relatively large and can therefore tolerate a much larger percentage of users who do not actively contribute to development, packaging, or repository maintenance.
Mandriva Linux (formerly Mandrake Linux) was created in 1998 with the goal of making GNU/Linux easy to use for everyone. It is RPM-based and uses the urpmi package manager. Again, Arch takes a simpler approach, being text-based and relying on more manual configuration and is aimed at intermediate to advanced users.
openSUSE is centered around the RPM package format and its well-regarded YaST2 GUI-driven configuration tool, which is a one-stop shop for most users' system configuration needs, including package management. Arch does not offer such a facility as it goes against The Arch Way. openSUSE, therefore, is widely regarded as more appropriate for less-experienced users, or those who want a more GUI-driven environment, auto-configuration and expected functionality out of the box.
- PCLinuxOS is a popular Mandriva-based distribution providing a complete DE, designed for user-friendliness and is described as "simple", though its definition of simple is quite different than the Arch definition. Arch is designed as a simple base system to be customized from the ground up and is aimed more toward advanced users.
- PCLOS uses the apt package manager as a wrapper for RPM packages. Arch uses its own independently-developed pacman package manager with
- PCLOS is very GUI-driven, provides GUI hardware configuration tools and the Synaptic package management front-end, and claims to have little or no reliance on the shell. Arch is command-line oriented and designed for more simple approaches to system configuration, management and maintenance.
- PCLOS recommends 256MB RAM as part of its minimum system requirements. Being more lightweight, Arch can run on systems with much less system memory, requiring only 64MB of RAM for a base i686 install, and will run flawlessly on more modern systems.
*BSDs share a common origin and descend directly from the work done at UC Berkeley to produce a freely redistributable, free of cost,
UNIX system. They are not GNU/Linux distributions, but rather,
UNIX-like operating systems. Therefore, although Arch and the *BSDs share the concept of a tightly-integrated base and ports system, along with a similar init framework, they are absolutely not related from a code standpoint, except for perhaps
vi, as Arch's
vi is the original BSD
vi (most *BSDs do not use the original BSD
vi anymore). *BSDs were derived from the original AT&T
UNIX code and have a true
UNIX heritage. To learn more about the *BSD variants visit the vendor's site.
- Both Arch and FreeBSD offer software which can be obtained using binaries or compiled using 'ports' systems.
- Both share a very similar init system.
- Like other *BSDs, the FreeBSD base is developed fundamentally as a system designed as a whole, with each application 'ported' over to FreeBSD and made sure to work in the process. In contrast, GNU/Linux distributions such as Arch exist as amalgams combined from many separate sources.
- Both Arch and FreeBSD use
/etc/rc.confas a major configuration file.
- The FreeBSD license is generally more protective of the coder, in contrast to the GPL, which favors protection of the code itself. Arch is released under the GPL.
- In FreeBSD, like Arch, decisions are delegated to you, the power user. This may be the most interesting comparison to Arch since it goes head-to-head in package modernity and has a somewhat sizable, smart, active, no-nonsense community.
- Both systems share many similarities and FreeBSD users will generally feel quite comfortable with most aspects of Arch.
- NetBSD is a free, secure, and highly portable
UNIX-like open-source operating system available for over 50 platforms, from 64-bit Opteron machines and desktop systems to hand-held and embedded devices. Its clean design and advanced features make it excellent in both production and research environments, and it is user-supported with complete source. Many applications are easily available through pkgsrc, the NetBSD Packages Collection.
- Arch may not operate on the vast number of devices NetBSD operates on, but for an i686 system it may offer more applications.
- NetBSD's pkgsrc provides a source based method of installation similar to Arch's ABS; however binary packages are also available using the pkg_tools.
- Arch does share similarities with NetBSD; both use
/etc/rc.confas the primary configuration file, both require manual configuration, they are minimalist and lightweight, both offer ports systems as well as binaries and both have active, no-nonsense developers and communities. Arch also borrows from *BSD its init system concepts.
The OpenBSD project produces a free, multi-platform 4.4BSD-based
UNIX-like operating system. Efforts focus on portability, standardization, code correctness, proactive security, and integrated cryptography. In contrast, Arch focuses more on simplicity, elegance, minimalism and bleeding edge software. OpenBSD is self-described as 'perhaps the #1 security OS'.
In common with Arch, OpenBSD offers a small, elegant, base install with a ports and packaging system to allow for easy installation and management of programs which are not part of the base operating system. In contrast to a GNU/Linux system like Arch, but in common with most other BSD-based operating systems, the OpenBSD kernel and userland programs, such as the shell and common tools (like ls, cp, cat and ps), are developed together in a single source repository.