|This article describes the GNU Project and lists some of the essential tools that qualify Parabola as a free GNU/Linux distribution.|
|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. Parabola is such a system, using GNU software like the GRUB bootloader, Bash shell, and numerous other utilities and libraries.|
From GNU website:
- 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 kernel 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!”
Since Parabola is an entirely free GNU/Linux based distribution, many of its basic tools are from the GNU Project. This article will give a brief description of the core components, as well as some other useful applications.
1 Software Collection
1.1 The Base System
At the end of the installation process, a Parabola system is nothing more than the Linux-libre Kernel, the GNU toolchain, and a few other useful command line tools. The minimal install normally contains the entire base group.
|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|| fileutils: chgrp, chown, chmod, cp, dd, df, dir, du, ln, ls, mkdir, mkfifo, mknod, mv, rm, etc. |
textutils: cat, cksum, head, tail, md5sum, nl, od, pr, tsort, join, wc, tac, paste, etc.
|diffutils||Contains utilities to compare files||diff, cmp, diff3, sdiff|
|Find Utilities||Contains search utilities||find, locate, updatedb, xargs|
|finger||User information protocol||n/a|
|grep||Search for strings in files||grep|
|groff||GNU document processing system (groff)||groff|
|GRUB||GRand Unified Bootloader||grub|
|gzip||gzip is both a file format and a software for compression and decompression archives||gzip|
|inetutils||Useful utils for networking||ftp, telnet, rsh, rlogin, tftp|
|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|
|GNU Screen||A terminal multiplexer||screen|
|sysutils||System utilities to manage users, groups, passwords, shells||add-shell, chage, chfn, chgroup, chgrpmem, chpasswd, chsh, chuser, cppw, expiry, gpasswd, grpck, gshadow, hwclock, isosize, last, lastlog, login, lsage, lsgroup, lsuser, mkgroup, mkuser, nologin, passwd, pwck, remove-shell, rmgroup, rmuser, setpwnam, vipw, wall, write|
|tar||Archiver provides the ability to create or decompress tar archives, as well as various other kinds of manipulation with archives||tar|
|texinfo||Documentation system for producing online and printed manuals||n/a|
|Time||Program to determine the duration of execution of a particular command||time|
1.2 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 AUR.
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 GNU Build System, also known as the Autotools, is a suite of programming tools designed to assist in making source code packages portable to many Unix-like systems.
|Make||It's a build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles which specify how to derive the target program|
|GCC||GNU Compiler Collection(GCC) is a compiler system produced by the GNU Project supporting various programming languages|
|binutils||binutils, are a set of programming tools for creating and managing binary programs, object files, libraries, profile data, and assembly source code: addr2line, ar, c++filt, dlltool, gold(linker), gprof, nlmconv, nm, objcopy, objdump, ranlib, readelf, size, strings, strip, windmc, windres|
|GNU Debugger(GDB)||It's a portable debugger that runs on many Unix-like systems and works for many programming languages|
|GNU Autoconf||Tool for automatically configuring source code|
|GNU Automake||Tool for automatically creating Makefiles|
|GNU Libtool||A generic library support script|
|Other development tools|
|Data Display Debugger(DDD)||Debugger front-end for several debuggers|
|GNU arch||Distributed revision control system (deprecated in favor of GNU Bazaar)|
|GNU Bazaar||Distributed revision control system|
|GNU AutoGen||Active tier-style tool for automated code generation|
|GNU cflow||Generates C flow graphs|
|GNU cppi||Indents C preprocessor directives in files to reflect their nesting|
|GNU Fontutils||Font management utilities|
|GNU indent||Program to indent C and C++ source code|
|GNU complexity||Measures the complexity of C source code|
|GNUnited Nations||Programm for the translation of html files|
Linux-libre it's a monolithic kernel that is maintained from modified versions of Linux to remove any software that does not include its source code, or is released under proprietary licenses. Parabola use Linux-libre kernel by default.
GNU Hurd it's microkernel - based set of servers that perform the same function as a UNIX kernel. While Hurd, the GNU Kernel, is under active development, there is not yet a stable version. For this reason Parabola and most other GNU free based systems use the Linux-libre kernel.
2 Other software
Many other optional GNU tools are available in the Repositories:
- GNOME - a desktop environment.
- GIMP - an raster image editor.
- Gnumeric - a spreadsheet editor software.
- GNU Parted - a hard drive partition manager.
- GNU nano - a command-line text editor.
- GNU Emacs - an extensible, customizable, self-documenting text editor.
- GNU Octave - a scientific programming language.
- GNU Readline - a line-editing library for command-line interfaces.
- GNU Privacy Guard(GnuPG, GPG) – PGP encryption replacement.
- GNU Guix – package manager.
- GNU Midnight Commander - orthodox file manager & FTP client.
- GNUstep – implementation of the Cocoa/OpenStep libraries and development tools for graphical applications.
- GTK+ - a widget toolkit.
- Window Maker – window manager for the GNUstep environment.
3 See also
- For a list of all current GNU projects, see all GNU packages.
- For a pages of GNU Project in our wiki see Category:GNU Project