Diese Liste der GNU-Pakete listet relevante Softwarepakete, welche für die Free Software Foundation (kurz FSF) entwickelt wurden – oder von ihr betreut werden – als Teil des GNU-Projekts, auf. GNU ist ein unixoides Betriebssystem, das vollständig aus freier Software besteht. Viele dieser Software-Pakete werden zusammen mit dem Linux-Kernel genutzt und bilden damit ein komplett funktionstüchtiges Computerbetriebssystem.
Definition eines GNU-Paketes Richard Stallman kennzeichnete im Jahr 2013 neun Aspekte, die im Allgemeinen ein GNU-Paket ausmachen, aber er bemerkte dabei auch, dass es durchaus die Möglichkeit zur Flexibilität und für Ausnahmen dieser Regeln gibt, wenn triftige Gründe bestehen:
Die Entwickler müssen behaupten, dass es ein GNU-Paket ist. Das Paket sollte über ftp.gnu.org, oder einer anderen Seite, die freien Zugang für alle anbietet, verbreitet werden. Die Website des GNU-Paketes sollte die GNU-Website sein. Die Entwickler müssen besonderen Augenmerk darauf legen, dass ihre Software auch mit anderen GNU-Paketen gut zusammen arbeitet. Die Dokumentation sollte im Texinfo-Format, oder in einem Format, das sich leicht nach Texinfo konvertieren lässt, gespeichert sein. Im Paket sollte GNU Guile für die Erweiterungssprachen genutzt werden. Ausnahmen sind jedoch erlaubt. Im Paket sollte keine unfreie Software empfohlen werden und auch auf keine unfreie Dokumentation oder unfreie Software verwiesen werden. Im Paket muss die GNU-Terminologie genutzt werden, wie zum Beispiel GNU/Linux für das Betriebssystem und den Begriff „freie Software“ anstatt „Open Source“. Der Maintainer sollte kontaktierbar sein, zumindest hin und wieder, um Probleme in der Software oder Kompatibilitätsprobleme besprechen zu können.
Basissystem Es gibt kein offizielles „Basissystem“ vom GNU-Betriebssystem. GNU wurde konzipiert, um Unix’ Betriebssystem in den 1980er Jahren zu ersetzen. Es nutze den POSIX-Standard nur als Richtlinie, da dessen Definition ein weit größeres „Basissystem“ ergeben würde. Die folgende Liste ist eine kleine Zusammenstellung von GNU-Paketen, die man am ehesten als „Kern“-Pakete bezeichnen könnte – entgegen den weiter unten aufgeführten Pakete. Natürlich ist diese Auflistung diskutabel (einschließlich plotutils und ausschließlich C-Standard-Bibliothek).
Name Beschreibung liefert VersionHierbei handelt es sich um stabile Versionen. Es gibt aber Distributionen (z. B. Gentoo Linux), die bereits Entwicklungsversionen nutzen, da stabile Versionen schon veraltet sein könnten. bash GNUs UNIX-kompatible Shell bash 5.1 (7. Dezember 2020) coreutils Basisbefehle 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. 9.0 (24. September 2021) cpio Archivierungsprogramm cpio 2.13 (6. November 2019) diffutils beinhaltet Werkzeuge zum Vergleichen von Dokumenten diff, cmp, diff3, sdiff 3.8 (21. August 2021) findutils beinhaltet Suchwerkzeuge find, locate, xargs 4.9.0 (2. Februar 2022) finger Nutzerinformation n. a. 1.37 (28. Oktober 1992) grep sucht nach Strings in Dokumenten grep 3.7 (14. August 2021) groff Dokumentverarbeitungssystem groff 1.22.4 (23. Dezember 2018) GRUB GRand Unified Bootloader grub 2.06 (8. Juni 2021) gzip Komprimierungsprogramm (gzip) gzip 1.12 (7. April 2022) HURDDa HURD noch in aktiver Entwicklung ist, gibt es derzeit noch keine stabile Version. HURD wird durch Versionskontrollsysteme verteilt. Mikrokernel-basierende Zusammenstellung aus Servern, die die gleichen Funktionen ausüben wie der UNIX-Kernel n. a. 0.9 (18. Dezember 2016) inetutils nützliches Werkzeug für Networking ftp, telnet, rsh, rlogin, tftp 2.2 (1. September 2021) Linux-libre Ein „entblobter“ Kernel des Linux-Kernels. Dieser besteht komplett aus freier Software. n. a. 5.17 (21. März 2022) plotutils nützliches Werkzeug um unterschiedliche Geräte anzusprechen graph, libplot, libplotter 2.6 (27. September 2009) readline Nützliche Bibliothek zum Lesen von Befehlszeilen readline 8.1 (7. Dezember 2020) screen ein Terminalmultiplexer screen 4.9.0 (1. Februar 2022) sed Stream-Editor sed 4.8 (15. Januar 2020) sysutilsZurzeit gibt es noch keine stabile Version. Die jetzige Version ist noch Alpha und somit noch nicht für den Produktiveinsatz geeignet. system utilities dient zur Verwaltung von Nutzer, Gruppen, Passwörter und 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 0.1.6subversion repository NEWS file of sysutils Abgerufen am 23. Juli 2013. (2009) tar Archivierungsprogramm, welches mit vielen verschiedenen Formaten umgehen und diese auch erstellen kann. tar 1.34 (13. Februar 2021) texinfo Dokumentationssystem zum Erstellen von online und gedruckten Handbüchern info, makeinfo, texindex 6.8 (3. Juli 2021) time Programm zum Feststellen der Ausführungszeit eines Befehls time 1.9 (12. März 2018)
Anmerkungen
Programme für die Software-Entwicklung Die Software, die unterhalb aufgelistet wird, ist im Allgemeinen für Software-Entwickler und Programmierer nützlich.
GNU Toolchain
GNU Binutils – beinhaltet den GNU assembler (as) und den GNU linker (ld) GNU Bison – Parsergenerator ein beabsichtigter Ersatz für yacc GNU Build System (autotools) – beinhaltet Autoconf, Automake, Autoheader und Libtool GNU Compiler Collection – optimierender Compiler für viele Programmiersprachen unter anderem C, C++, Fortran, Ada, und Java GNU Debugger (gdb) – ein moderner Debugger GNU m4 – Makroprozessor GNU make – Make-Programm für GNU
Weitere Bibliothek und Frameworks Die folgenden Programmbibliotheken und Frameworks werden oft in Kombination mit den Basiswerkzeugketten darüber verwendet:
Für Bibliotheken, die speziell dafür ausgerichtet sind, GUI zu implementieren, siehe Grafische Benutzeroberfläche.
BFD – Objektdateienprogrammbibliothek DotGNU – Ersatz für Microsoft .NET GNU-C-Bibliothek (glibc) – POSIX konforme C-Standard-Bibliothek GNU Classpath – Programmbibliothek für Java GNU FriBidi – Programmbibliothek, die Unicodes bidirektionalen Text implementiert GNU gettext – Internationalisierungsprogrammbibliothek Gnulib – portierbare Programmbibliothek entworfen für die Nutzung mit dem GNU-Build-Systems GNU libmicrohttpd – einbettbarer HTTP-Server GNU lightning – Just-in-time-Kompilierung zum Generieren von Maschinensprache GNU MPC – C-Bibliothek für komplexe arithmetische Berechnungen GNU oSIP – Session-Initiation-Protokoll-Programmbibliothek zur Implementierung von VoIP-Programmen GNU Portable Threads – Software-Threads für POSIX-kompatible Betriebssysteme
Weitere Compiler und Interpreter Die folgenden Pakete bieten Compiler und Interpreter für Programmiersprachen, die über die der GNU Compiler Collection hinaus reichen, an:
CLISP – ANSI Common-Lisp-Implementation (Compiler, Debugger, und Interpreter) Gawk – GNU-awk-Implementation GnuCOBOL – COBOL-Implementation GNU Common Lisp – Implementation von Common Lisp GNU MDK – Ein Entwicklungsbaukasten zum Programmieren in MIX GNU Pascal – Pascal-Compiler GNU Smalltalk – ANSI Smalltalk-98 Implementation (Interpreter und Klassenbibliothek) MIT/GNU Scheme – Interpreter, Compiler und Bibliothek für die Scheme-Programmiersprache entwickelt am MIT SmartEiffel – GNU Eiffel-Compiler GNU Mes – Scheme Interpreter und C–Compiler zum Bootstrapping des GNU System.
Andere Entwicklerwerkzeuge Data Display Debugger – Front-end debugger für verschiedene Debugger (ddd) GNU arch – verteiltes Revisionskontrollsystem (missbilligt zu Gunsten von GNU Bazaar) GNU AutoGen – active tier-style Werkzeug für automatische Codegenerierung GNU Bazaar – verteiltes Revisionskontrollsystem GNU cflow – generiert C-Fließdiagramme GNU cppi – kennzeichnet C-Präprozessor-Richtlinien in Dateien und um deren Schachtelung zu spiegeln GNU Fontutils – Font-Verwaltungswerkzeuge GNU gperf – „perfect hash function generator“ generiert Hashfunktionen GNU indent – Programm zum Einrücken von C- und C++-Quelltexten GNU SASL – moderne C-Bibliothek
Nutzerprogramme Die Software, die hier aufgelistet wird, ist im Allgemeinen nützlich für Nutzer, die sich im Speziellen nicht sehr mit Softwareentwicklung beschäftigen.
Grafische Benutzeroberfläche Die folgenden Pakete bieten GUIs Desktopumgebungen, Fenstermanager und die dazugehörigen Grafikbibliotheken.
GIMP – GNU Image Manipulation Program, ein Bitmap-Bildereditor (ähnlich Photoshop) GTK+ – GIMP Toolkit, beinhaltet GTK+, GDK und GLib Set aus Bibliotheken (genützt von GIMP und GNOME) Gnome – GNU Network Object Model Environment, die offizielle GNU-Desktopplattform GNUstep – Implementation der Cocoa-/OpenStep-Bibliotheken und Entwicklungswerkzeuge für grafische Applikationen Window Maker – Fenstermanager für die GNUstep-Umgebung
Generelle Systemadministration GNU Accounting Utils – Palette an Werkzeugen, welche Statistiken von Nutzern und Prozessen liefert (last, ac, accton, lastcomm, sa, dump-utmp, dump-acct). GNU Ddrescue – Dateienwiederherstellungswerkzeug GNU Emacs – Implementation eines Emacs-Editor GNU fcrypt – On-the-fly-Verschlüsselung GNU Guix – Paketverwaltung und Distribution des GNU-Systems GNU libextractor – Metadatengewinnungsbibliothek und Werkzeug GNU mtools – Sammlung von Werkzeugen um MS-DOS-Disketten zu bearbeiten GNU nano – Texteditor GNU parallel – Shell-Werkzeug zum Ausführen paralleler Aufgaben GNU Parted – Festplattenpartitionierungsprogramm GNU Privacy Guard – PGP-Verschlüsselungsersatz GNU Stow – Installationsverwaltung von Softwarepaketen pexec – Shell-Werkzeug zum Ausführern paralleler Aufgaben
Datenbanken GnowSys – Kernel für semantische Berechnungen GNU dbm (GDBM) GNU Ferret – Freies Entitätsbeziehungen- und Reverse-Engineering-Werkzeug, ein SQL-Datenbank-Designer
Wissenschaftliche Software GMP – Langzahlarithmetik numerische Programmkalkulationsbibliothek GNU Archimedes – TCAD-Software für Halbleitergerätesimulationen Gnucap – Programm zur Schaltungssimulation GNU datamesh – Programmiersprache und Kommandozeilenwerkzeug für statistische Berechnungen GNU Electric – EDA-Software zum Zeichnen von Schaltplänen und integrierten Schaltkreisen GNU Octave – Programm für numerische Berechnungen GSL – GNU Scientific Library GNU Units – dient zur Umwandlung von Einheiten PSPP – Statistikprogramm ähnlich SPSS R – Programmiersprache und Softwareumgebung für statistische Berechnungen und Grafiken XaoS – fraktaler Zoomer
Internet mini|Eine Nutzerseite auf einer GNU-MediaGoblin-0.2.0–basierenden Website GNU Alexandria – nutzt GNU Bayonne, um Zugang zu elektronischem Inhalt und Diensten für Blinde über das öffentliche Telefonnetzwerk zu ermöglichen GNU Anubis – ausgehender Mail-Prozessor, der zwischen MUA und MTA sitzt GNU FM – föderierte Musikgemeinschaftsplattform, wird üblicherweise in Verbindung mit Libre.fm genannt GNU Mailman – elektronische Mailinglisten-Verwaltung GNU MediaGoblin – dezentralisierte Mediaverteilung GNU Social – Verteiltes Soziales Netzwerk, das als weiterführendes Projekt auf der Codebasis von StatusNet arbeitet Gnu Sovix – PHP-basierendes Websiterevisionssystem GNU wget – avancierte Dateienabfrage aus Netzwerken und dem Internet GNUnet – dezentralisiertes Peer-to-Peer-Netzwerk, entworfen, um resistent gegen Zensur zu sein GnuTLS – TLS-Ersatzprotokoll Gnuzilla – Version der Mozilla Application Suite, welche nur freie Software beinhaltet (z. B. den GNU-IceCat-Webbrowser) lsh – Implementation des Secure-Shell-Protokolls Version 2 GNU LibreJS – ein Browser-Add-on, das nicht-freies und nicht-triviales JavaScript erkennt und blockiert