GNU Project

From ParabolaWiki
Jump to: navigation, search
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
Gnu logo.png

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.

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.
shellutils: basename, chroot, date, dirname, echo, env, groups, hostname, nice, nohup, printf, sleep, 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:

3 See also

4 Acknowledgement

This wiki article is based on ArchWiki. We may have removed non-FSDG bits from it.
This wiki article is based on Wikipedia. We may have removed non-FSDG bits from it.