GNU Project

From ArchWiki
Jump to: navigation, search

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: Add Template:App (Discuss in Talk:GNU Project#)


The GNU Project was launched in 1984 to develop the GNU operating system, a complete Unix-like operating system which is free software—software which respects your freedom. Unix-like operating systems are built from a software collection of applications, libraries, and developer tools—plus a program to allocate resources and talk to the hardware, known as a kernel. [...] The combination of GNU and Linux is the GNU/Linux operating system, now used by millions and sometimes incorrectly called simply “Linux”. The name “GNU” is a recursive acronym for “GNU's Not Unix!”

The aim of the GNU Project is to produce a totally free operating system. While the GNU kernel has not reached a stable version, the project has resulted in the creation of many tools that power most Unix-like operating systems. Arch Linux is such a system, using GNU software like the GRUB bootloader, Bash shell, and numerous other utilities and libraries.

The Base System

At the end of the installation process, an Arch system is nothing more than the Linux Kernel, the GNU toolchain, and a few command line tools. The minimal install normally contains the entire base group.


While Hurd, the GNU Kernel, is under active development, there is not yet a stable version. For this reason Arch and most other GNU based systems use the Linux Kernel. The Arch Hurd Project aims to port Arch Linux to the Hurd kernel.

Software Collection

  • GRUB — GRUB is the bootloader from the GNU project. || grub
  • glibc — glibc is GNU's implementation of the C library. Despite its name, it also supports C++ and indirectly other languages. It defines the system calls and other basic facilities such as open, malloc, printf, exit. || glibc
  • binutils — It is a collection of binary tools. || binutils
  • bash — It is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). || bash
  • coreutils — coreutils provides the basic file, shell and text manipulation utilities of the GNU operating system. || coreutils
  • gzip — gzip is both a file format and a software application for compression and decompression. || gzip
  • tar — It provides the ability to create or decompress tar archives, as well as various other kinds of manipulation. || tar

Development Tools

Though not necessary, users have the option of installing the base-devel group for some software development tools. This group is a requirement for building packages from the Arch User Repository.

Among base-devel are several members of the GNU toolchain, a "suite of tools used in a serial manner [...] for developing applications and operating systems". The key components of this toolchain are:

compilation and build: make

compiler collection: gcc

linker, assembler and other tools: binutils

w:gold (linker), w:GNU Binutils, w:GNU linker

parser generator: bison

macro processor: m4

GNU Build System (autotools):

automatically configure source code: autoconf
automatically create Makefiles: automake
library support script: libtool

Other Tools

Many other optional GNU tools are available in the official repositories:

Desktop environment: GNOME

Full-screen window manager: GNU Screen

Partition Manager: GNU Parted

Image editor: GIMP

Spreadsheet: Gnumeric

Widget toolkit: GTK+

See also