Abstract

We have been focusing our attention on the Ubuntu version of Linux. But there are other Linux distributions.

One such distribution is Arch Linux, which is focused on simplicity and gives a lot of control to the user. We will take a closer look at this distribution, and it’s differences from Ubuntu.

Arch Linux

Arch Linux is an independently developed, i686/x86-64 general purpose GNU/Linux distribution versatile enough to suit any role. Development focuses on simplicity, minimalism, and code elegance. Arch is installed as a minimal base system, configured by the user upon which their own ideal environment is assembled by installing only what is required or desired for their unique purposes. GUI configuration utilities are not officially provided, and most system configuration is performed from the shell by editing simple text files. Arch strives to stay bleeding edge, and typically offers the latest stable versions of most software. About Arch Linux

The Arch Way

The following five core principles comprise what is commonly referred to as the Arch Way, or the Arch Philosophy, perhaps best summarized by the acronym KISS for Keep It Simple, Stupid.

  1. Simplicity

Arch Linux defines simplicity as without unnecessary additions, modifications, or complications, and provides a lightweight UNIX-like base structure that allows an individual user to shape the system according to their own needs. In short: an elegant, minimalist approach.

  1. Code-correctness over convenience

Simplicity of implementation, code-elegance, and minimalism shall always remain the reigning priorities of Arch development.

  1. User-centric

Arch Linux targets and accommodates competent GNU/Linux users by giving them complete control and responsibility over the system.

  1. Openness

Arch Linux uses simple tools, that are selected or built with openness of the sources and their output in mind.

  1. Freedom

By keeping the system simple, Arch Linux provides the freedom to make any choice about the system.

The Arch Way

A comparison with Ubuntu

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.

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

  • Current Ubuntu development and promotion seem to be heavily embracing the touch screen device market, whereas Arch development is more generally focused on a user-centric model which empowers its community to create customized solutions to be developed collaboratively.

  • Ubuntu moves between discrete releases every 6 months, whereas Arch is a rolling-release system with a new snapshot issued every month.

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

The above taken verbatim from Arch Compared to Other Distributions

Welcome to the Wiki

Rather than try to comment on these web pages, lets examine each:

ArchWiki Main Page

Ubuntu Wiki

As I compare the two wiki’s I can see some of the differences in the focus of them.

The Arch wiki, begins with discussion the philosophy about the distribution. It then discusses the community, before going on the describe how to use help to find specific topics. Down the left side of the page are links to different types of information, plus a search window. There are even links for other languages.

The Ubuntu wiki, discusses getting involved, the teams, the governance and membership, and then community links. Interestingly, there is a pointer to blogs, upcoming events, social network page, but no mention about help. There is a search box at the top of the page, but no links to the other information.

Installation Guides

Since the installation guide is typically your first experience with a new Operating System, I thought it might be interesting to compare the installation guide for Ubuntu to the one for Arch Linux. I am going to compare the latest versions of the guides.

Ubuntu Install

The Install Ubuntu 13.10 consists of the following sections.

  1. Using a DVD?

  2. Prepare to install Ubuntu

  3. Set up wireless

  4. Allocate drive space

  5. Begin the installation

  6. Select your location

  7. Select your preferred keyboard layout

  8. Enter your login and password details

  9. Ubuntu One

  10. Learn more about Ubuntu while the system installs…

  11. Thats it.

This installer is focused on the GUI screens. There are screen shots of the GUI, but not much detail. The installer is expected to do most of the work, and you just watch.

Arch Linux Install

The Installation Guide for Arch Linux consists of the following sections.

  1. Download

  2. Installation

    1. Keyboard layout

    2. Partition disks

    3. Format the partitions

    4. Mount the partitions

    5. Connect to the internet

      1. Wireless
    6. Install the base system

    7. Configure the system

    8. Install and configure a boot loader

    9. Unmount and reboot

  3. Post-installation

    1. User management

    2. Package management

    3. Service management

    4. Sound

    5. Display server

    6. Fonts

  4. Appendix

This installer only uses the command line, not a GUI interface. It contains many command line arguments that you can copy from your web browser to the install line. Or retype if you are reading the installer guide on another computer.

Package Management

The pacman package manager is one of the major distinguishing features of Arch Linux. It combines a simple binary package format with an easy-to-use build system. The goal of pacman is to make it possible to easily manage packages, whether they are from the official Arch repositories or the user’s own builds.

Pacman keeps the system up to date by synchronizing package lists with the master server. This server/client model also allows the user to download/install packages with a simple command, complete with all required dependencies.

One thing that might upset some people is that pacman is a command line program, not a GUI program.

Ubuntu Package Management

Ubuntu is a spin off of Debian Linux, so it has inherited the program dpkg a command line package tool.

dpkg is a package manager for Debian based systems. It can install, remove, and build packages, but unlike other package management system’s it can not automatically download and install packages and their dependencies. dpkg

Ubuntu then added an Advanced Packaging Tool apt-get, for a command line package management tool.

The apt-get command is a powerful command-line tool used to work with Ubuntu’s Advanced Packaging Tool (APT) performing such functions as installation of new software packages, upgrade of existing software packages, updating of the package list index, and even upgrading the entire Ubuntu system.

Being a simple command-line tool, apt-get has numerous advantages over other package management tools available in Ubuntu for server administrators. Some of these advantages include ease of use over simple terminal connections (SSH) and the ability to be used in system administration scripts, which can in turn be automated by the cron scheduling utility. Apt-Get

Next Ubuntu added Aptitude a menu-driven package management tool.

Aptitude is a menu-driven, text-based front-end to the Advanced Packaging Tool (APT) system. Many of the common package management functions, such as installation, removal, and upgrade, are performed in Aptitude with single-key commands, which are typically lowercase letters. Aptitude

Arch Linux Package Management

Arch Linux uses the program pacman for it’s package management system.

The pacman package manager is one of the major distinguishing features of Arch Linux. It combines a simple binary package format with an easy-to-use build system. The goal of pacman is to make it possible to easily manage packages, whether they are from the official Arch repositories or the user’s own builds.

Pacman keeps the system up to date by synchronizing package lists with the master server. This server/client model also allows the user to download/install packages with a simple command, complete with all required dependencies.

Pacman is written in the C programming language and uses the .pkg.tar.xz package format. pacman

Arch User Repository (AUR)

The Arch User Repository (AUR) is a community-driven repository for Arch users. It contains package descriptions (PKGBUILDs) that allow you to compile a package from source with makepkg and then install it via pacman. The AUR was created to organize and share new packages from the community and to help expedite popular packages’ inclusion into the community repository.

This is an interesting aspect of Arch Linux. It is similar to how packages are installed in Gentoo. You download a PKG file, then build it using the makepkg command, which is part of the pacman package. These packages are basically, download and make instructions for how to build the source code on Arch Linux.

Documentation

Lets start by comparing the available documentation for the two systems.

Ubuntu Documentation

You need to do a fair amount of drilling down to get the user documentation. You need to go to the first page Documentation then select SystemDocumentation followed by UbuntuDesktopGuide which gets you to the file contain this content list:

  1. Ubuntu Documentation - Desktop Getting Started

  2. Introduction

  3. Tools for Ubuntu Documentation Work Flow

    1. Create your SSH key

      1. No previous SSH key

      2. SSH key generated previously

  4. Get set up to work with Launchpad

    1. About Launchpad

    2. Get a Launchpad account

    3. Upload your SSH key to Launchpad

  5. Configure Bazaar

  6. Bazaar Explorer

  7. Getting Started with Ubuntu Documentation

    1. Getting a copy of the documentation development branch

    2. Building html version of the docs

    3. Editing Documentation Files

    4. Submit your changes for review

  8. Creating Personal Sandbox Branch

  9. What’s next

Arch Linux Documentation

This documentation is easier to find first. You go to Main Page and click the link Table of Contents to see the following contents listing:

English (1)

  1. About Arch (35)

    1. Arch development (43) (also in Development)

      1. Package development (66)

      2. Pacman development (6)

    2. Arch64 (9)

    3. ArchWiki (11)

      1. Help (15)
    4. Classroom (4)

    5. Events (22)

    6. Getting and installing Arch (48)

    7. Live Arch systems (5)

  2. Applications (16)

    1. Accessibility (6)

    2. Application launchers (10)

    3. Command shells (13)

    4. Data compression and archiving (11)

    5. Database management systems (14)

    6. Emulators (12)

    7. File managers (8)

    8. Gaming (37)

    9. Graphics and desktop publishing (16)

    10. Internet Applications (58) (also in Networking)

      1. Email Client (17)

      2. Internet Relay Chat (17)

      3. Web Browser (21)

    11. Mathematics and science (20)

    12. Office (15)

      1. TeX (6)
    13. Perl Background Rotation (10)

    14. Player (20)

    15. Search (3)

    16. Status monitoring and notification (13)

    17. Terminal emulators (16)

    18. Text editors (10)

    19. Wine (18)

  3. Development (42)

    1. Arch development (43) (also in About Arch)

      1. Package development (66)

      2. Pacman development (6)

    2. Licenses (25)

    3. Programming language (14)

    4. Version Control System (13)

    5. Widget Toolkits (3)

  4. Hardware (5)

    1. Bluetooth (9)

    2. CPU (9)

    3. Graphics (25)

    4. Hardware Compatibility List (49)

    5. Hardware detection and troubleshooting (11)

    6. Imaging (13)

    7. Input devices (14)

      1. Graphics tablet (3)

      2. Keyboards (20)

      3. Mice (14)

    8. Laptops (14)

      1. Acer (35)

      2. Alienware (2)

      3. Apple (12)

      4. ASUS (52)

      5. Dell (45)

      6. Fujitsu (9)

      7. HP (43)

      8. IBM (15)

      9. Lenovo (51)

      10. LG (2)

      11. MSI (4)

      12. Nokia (1)

      13. Samsung (12)

      14. Sony (11)

      15. Toshiba (14)

    9. Mainboards and BIOS (4)

    10. Mobile devices (15)

    11. Modems (19) (also in Networking)

    12. Other hardware (27)

    13. Printers (38)

    14. Sound (16)

    15. Storage (15)

      1. Optical (6)
  5. Networking (86)

    1. Domain Name System (13)

    2. File Transfer Protocol (6)

    3. Firewalls (9) (also in Security)

    4. Internet Applications (58) (also in Applications)

      1. Email Client (17)

      2. Internet Relay Chat (17)

      3. Web Browser (21)

    5. Mail Server (21)

    6. Modems (19) (also in Hardware)

    7. Proxy servers (6) (also in Security)

    8. Remote Desktop (7)

    9. Secure Shell (14) (also in Security)

    10. Telephony and Voice (7)

    11. Virtual Private Network (14) (also in Security)

    12. Web Server (64)

    13. Wireless Networking (7)

  6. System administration (29)

    1. Audio/Video (78)

      1. Streaming (12)
    2. Boot process (45)

      1. Boot loaders (11)

      2. Bootsplash (4) (also in Eye candy)

    3. Daemons and system services (16)

    4. Desktop environments (20)

      1. Display managers (11)

      2. GNOME (9)

      3. KDE (7)

      4. Window managers (1)

        1. Dynamic WMs (14)

        2. Stacking WMs (18)

        3. Tiling WMs (20)

    5. Dotfiles (4)

    6. Eye candy (32)

      1. Bootsplash (4) (also in Boot process)

      2. Fonts (8)

    7. File systems (79)

    8. Internationalization (10)

    9. Kernel (38)

    10. Package management (54)

      1. Arch User Repository (13)
    11. Power management (26)

    12. Scripts (15)

    13. Security (89)

      1. Firewalls (9) (also in Networking)

      2. Proxy servers (6) (also in Networking)

      3. Secure Shell (14) (also in Networking)

      4. Virtual Private Network (14) (also in Networking)

    14. System recovery (27)

    15. Virtualization (24)

    16. X Server (58)

Troubleshooting

Finally lets look at what type of help you can find for a problem. I am going to do a Google search for <distribution> printer configure help and see what type of help I get.

Ubuntu

I get a page CUPS - Print Server containing the sections:

  • Installation: with one command line.

  • Configuration: with 2 command lines, and 2 items in a config file.

  • Web Interface with on command line.

If everything goes well these few items will do the trick. But if you have anything unusual you will have to dig deeper for more help.

Arch Linux

I went to the page CUPS which contained these contents:

  1. CUPS Linux printing workflow

  2. Installing the client package

    1. Optional advanced network setup

    2. Installing CUPS a 32 bit chroot environment

  3. Installing the server packages

    1. Printer driver

      1. Download printer PPD

      2. Another source for printer drivers

  4. Hardware support and configuration

    1. USB printers

      1. Blacklisting usblp
    2. Parallel port printers

    3. HP Printer

  5. Configuring

    1. CUPS daemon

    2. Web interface and tool-kit

      1. CUPS administration

      2. Remote access to web interface

    3. Command-line configuration

    4. Alternative CUPS interfaces

      1. GNOME

      2. KDE

      3. Other

  6. PDF virtual printer

    1. Print to PostScript
  7. Troubleshooting

    1. Problems resulting from upgrades

      1. CUPS stops working

      2. All jobs are “stopped”

      3. All jobs are “The printer is not responding”

      4. The PPD version is not compatible with gutenprint

    2. Other

      1. CUPS permission errors

      2. HPLIP printer sends “/usr/lib/cups/backend/hp failed” error

      3. HPLIP printer claims job is complete but printer does nothing

      4. hp-setup asks to specify the PPD file for the discovered printer

      5. I have installed Qt, but hp-setup reports “Qt/PyQt 4 initialization failed”

      6. hp-setup finds the printer automatically but reports “Unable to communicate with device” when printing test page immediately afterwards

      7. hp-toolbox sends an error, “Unable to communicate with device”

      8. CUPS returns ‘“foomatic-rip” not available/stopped with status 3’ with a HP printer

      9. Printing fails with authorized error

      10. Print button greyed-out in GNOME print dialogs

      11. Unknown supported format: application/postscript

      12. Finding URIs for Windows print servers

      13. Print-Job client-error-document-format-not-supported

      14. /usr/lib/cups/backend/hp failed

      15. Unable to get list of printer drivers

      16. lp: Error - Scheduler Not Responding

      17. CUPS prints only an empty and an error-message page on HP LaserJet

      18. “Using invalid Host” error message

      19. Printer doesn’t print with an “Filter failed” message on CUPS web interface (HP printer)

      20. Printer doesn’t print with an “Filter failed” message on CUPS web interface (HP printer connected over network)

      21. HPLIP 3.13: Plugin is installed, but HP Device Manager complains it is not

      22. Printer is not recognized by CUPS

      23. Can’t load /etc/samba/smb.conf

      24. CUPS’ systemd service does not start even though it’s enabled
  8. See also

As you can see the Arch Linux help for cups is much more extensive. I find this true of most of the help I look up for Arch Linux.

Conclusion

This was not meant to sell you on the advantages of Arch Linux over Ubuntu Linux. It was meant to give you a feel for a different type of Linux distribution. Unlike Microsoft Windows, Linux does not assume there is only one right way to do things. Even though you have much more latitude when configuring any distribution of Linux than you would with Windows, you also have different distributions aimed an other users as well.

Not everything is rosy with Arch Linux. Given it’s rolling release you can get into difficult upgrade situations. When they changed from using SysVinit to start the default processes to using systemd for that purpose, it took me several days to make the change over. But I will point out that there was good documentation, but it takes some work to stop thinking in terms of SysVinit and start using systemd.

So in the end it is up to you what distribution works best for you. Give the current processing power and disk drive space on most computers, you can install and try out several different distributions. Remember, Linux is good at experimenting with, so have fun and try things.

Linux Distributions Compared

I know there are many more linux distributions that these two. There are many ways of comparing them so rather than invent some new method, I though I would just point to a couple of web sites to give you some ideas.


Written by John F. Moore

Last Revised: Tue Nov 1 18:14:05 EDT 2016

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
HTML5 Powered with CSS3 / Styling, and Semantics