GNU Project
Summary |
---|
This article describes the GNU Project and lists some of the essential tools that qualify Parabola as a free GNU/Linux distribution. |
Overview |
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. |
Related |
Category:GNU Project |
Parabola |
Beginners' Guide |
Core Utilities |
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.
Contents
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.
Name | Description | Provides |
---|---|---|
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. |
cpio | Archiving program | cpio |
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.
Name | Description | |
---|---|---|
Key components | ||
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 | |
Bison | Parser generator | |
m4 | Macro processor | |
GNU Debugger(GDB) | It's a portable debugger that runs on many Unix-like systems and works for many programming languages | |
Build system | ||
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 |
1.3 Kernels
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