Difference between revisions of "Arch compared to other distributions"
m (minor redirection fixes)
m (moved Arch Compared To Other Distributions to Arch Compared to Other Distributions: As per the discussion, I'm moving it.)
Revision as of 06:45, 6 December 2009
Template:Article summary start Template:Article summary text Template:Article summary heading Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry 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 only 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 often the best way to compare distributions.
Source-based distros 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 distros, with the added advantage of expedient installation.
Both Arch Linux and Gentoo Linux are rolling release systems, which means that packages become available to the distribution a short time after they are released upstream. Gentoo packages are built directly from source code while official Arch packages are pre-built binaries. This makes Arch Linux quicker to build or update the system, and allows Gentoo Linux to be more readily customizable. The build system for Gentoo is "global"; offering compile options that affect packages system-wide via USE flags. In comparison, the Arch Build System is targeted at building individual packages. Arch supports i686 and x86_64 architectures while Gentoo covers x86, ppc, sparc, alpha, amd64, mips, hppa, and itanium architectures. Because both the Gentoo and Arch installations only install 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 distros, much like Gentoo is, but are originally related to one another. SLS distros 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) and package tracking (and uninstalling/upgrading). There are no binary packages for any of the SLS family, although they all can roll back earlier installed packages easily.
The install involves installing a base system (much like Arch's: i686-optimized, CLI and ncurses menus, only core tools), then recompiling the base system (optionally) afterwards. There is obviously no "standard" 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 distros are quite comparable to Arch, sharing several similarities. All are considered 'simple' from a technical standpoint.
LFS, or Linux From Scratch, is just that; the minimal base package set for a functional GNU/Linux system, manually compiled and configured from scratch. LFS is as minimal as it gets, and offers an excellent and educational process of building 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 Template:Filename 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."
Arch is independently developed, was built from scratch and is not based on any other GNU/Linux distribution. Before creating Arch, Judd Vinet admired and used CRUX, a minimalist distro 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 i686 binary). Arch officially supports x86-64 and i686, whereas CRUX is i686-only.
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 modest community repository.
The mighty 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 and preserve functionality, if absolutely necessary. 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. 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 offers the Arch Build System, an actual ports-like system. The (unofficial) Slackbuild system is very similar to the Arch User Repository concept. Slackware users will generally be quite comfortable with most aspects of Arch.
Sometimes called "newbie" distros, the graphical distros 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. Graphical distros tend to ship with GUI installers (like Fedora's Anaconda) and GUI system-configuration tools (like SUSE's YaST). Specific differences between distros are described below.
Ubuntu is an immensely popular Debian-based distro commercially sponsored by Canonical Ltd., while Arch is an indepedently developed system built from scratch. If you like to compile your own kernels, try out bleeding-edge CVS-only projects, or build a program from source every once in a while, Arch is better suited. If you want to get up and running quickly and not fiddle around with the guts of the system as much, Ubuntu is better suited. Arch is presented as a much more minimalist design from the base installation onward, relying on the user to customize it to their own specific needs. In general, developers and tinkerers will probably like Arch better than Ubuntu, though some Arch users claim to 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, the Arch 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 distro. In contrast, the Ubuntu community is quite large and can therefore tolerate a much larger percentage of users who do not contribute to development, package or repo maintenance.
Fedora is a spin-off from the Red Hat distribution and has continually been one of the most popular distributions to date. As such, there is a massive community and lots of pre-built packages and support available. Fedora packages are RPM-based, using YUM as its package manager. Arch uses pacman to manage Template:Filename packages. Fedora famously doesn't attempt to support the MP3 media format due to perceived patent issues. Arch is more lenient in its disposition toward MP3 and other media. Fedora uses a graphical install by default. Arch does not offer a graphical installer, but rather, uses an ncurses-based installer, relying more on the user for manual configuration. Fedora has a scheduled release cycle. Arch is a rolling-release system. The Arch design approach is geared more toward lightweight elegance and minimalism rather than automation/auto-configuration. Fedora does innovate and recently earned much community recognition for integration of SELinux and GCJ compiled packages to remove the need for Sun's JRE. Fedora supports neither JFS nor ReiserFS out of the box.
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 a bit more toward intermediate to advanced users.
SUSE is centered around its well-regarded YaST configuration tool, which is a one-stop shop for most users' configuration needs. Arch doesn't offer such a facility as it goes against The Arch Way. SUSE, 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 distro 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 Template:Filename packages. 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.
Both Arch and *BSD offer a tightly-integrated base and ports system combined with available binary packages. The BSDs derive from Berkeley UNIX. Therefore, *BSDs are not GNU/Linux distros, but rather, UNIX-like OS's.
Both Arch and FreeBSD offer software which can be obtained using binaries or compiled using 'ports' systems. Both share a very similar init system. FreeBSD boasts that it is more of a system designed as a whole, compared to GNU/Linux distros, with each application 'ported' over to FreeBSD and made sure to work in the process. Both use Template:Filename as a main configuration file. The FreeBSD license is generally more protective of the coder, compared to the GPL, which in contrast 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. Also, the default installation method in pkgsrc is to pull and compile sources whereas Arch offers binary packages. Arch does share many similarities with NetBSD; both use Template:Filename as the primary configuration file, they are very minimalist and lightweight, they both offer ports systems as well as binaries and both have active, no-nonsense developers and communities. Arch also borrows from *BSD for 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 supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, GNU/Linux, BSD/OS, SunOS and HP-UX. OpenBSD is self-described as 'perhaps the #1 security OS'.
In common with Arch, OpenBSD offers a small, elegant, base install and uses a ports system and packaging systems 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.
These OS's fall into the 'other' category.
Debian is a much larger project and community and features stable, testing, and unstable branches, offering over 20,000 binary packages. Arch does not 'split' their packages into "-dev" and "-common" as Debian does, therefore, Arch repositories will seem much smaller. Debian has a more vehement stance on free software. Arch is more lenient when it comes to '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, typically being about equal with Debian unstable. 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 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 gzipped 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 distro of its own, and is promoted as an i686 distro. 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.