2.8. Sortierung der Pakete nach Verwendungszweck

Für Debian sind inzwischen sehr viele unterschiedliche Pakete verfügbar. Um Ihnen die Orientierung in der Paketmenge sowie die Recherche und Auswahl daraus zu erleichtern, ordnet der Paketbetreuer – der Verantwortliche für das Paket – dieses Paket genau einer bestimmten Kategorie zu. Die Auswahl der Kategorie basiert dabei auf dem hauptsächlichen Einsatzbereich der Software.

Abbildung 2.6, „Auflistung der verschiedenen Paketkategorien in aptitude zeigt die Sichtbarkeit der Kategorien bei der Paketauswahl in aptitude. In jeder Kategorie sind die Pakete zusätzlich nach ihrem Distributionsbereich (siehe Abschnitt 2.9, „Distributionsbereiche“) – main, contrib und non-free – gruppiert. Der jeweilige Entwicklungszweig (siehe Abschnitt 2.10, „Veröffentlichungen“) – bspw. stable, unstable oder testing – wird in dieser Darstellung nicht angezeigt, lässt sich aber bei Bedarf als weitere Ebene in der Anzeigehierarchie konfigurieren.

Abbildung 2.6. Auflistung der verschiedenen Paketkategorien in aptitude

konzepte/software-in-paketen-organisieren/aptitude-paketbereiche.png

Nachfolgende Übersicht listet die derzeit verwendeten Kategorien mit Beispielpaketen auf. Der Begriff in Klammern benennt die Kurzbezeichnung der Kategorie. Diese Zusammenstellung basiert auf Frank Ronneburgs Auflistung aus dem Debiananwenderhandbuch [Debian-Anwenderhandbuch] sowie der Übersicht auf der Debian-Webseite [Debian-Paketliste]. Die Kategorien introspection, Debian/tasks, education und metapackages sind derzeit noch nicht in allen Übersichten eingepflegt. Die einzige Referenz hierfür ist das Debian Policy Manual [Debian-Policy-Subsections].

Administration (admin)
Programme zur Systemadministration (dpkg, apt, aptitude, adduser)
Alte Bibliotheken und Übergangspakete (oldlibs)
Versionen von Bibliotheken, die nicht mehr verwendet werden sollten sowie Übergangspakete (gcalctool, iproute, libgnome2-0)
Amateurfunk/Ham Radio (hamradio)
Software für Amateurfunker (ax25-tools, hamfax)
Andere Betriebs- und Dateisysteme (otherosfs)
Software, um Programme zu benutzen, die für andere Betriebssysteme kompiliert wurden und um die Dateisysteme anderer Betriebssysteme zu benutzen (avr-libc, bochs, cpmtools, dosemu, fatsort)
Aufgaben (Debian/tasks)
Pakete, die Ihren Rechner für eine bestimmte Aufgabe vorbereiten (siehe Abschnitt 2.7, „Debian-Pakete (Varianten)“) (task-german-desktop, task-xfce-desktop)
Bibliotheken (libs)
Programmbibliotheken (Libraries) (libc6, e2fslibs)
Bildung (education)
Lern- und Schulprogramme (auto-multiple-choice, gcompris, scratch)
Datenbanken (database)
Datenbankserver und -clients (sqlite, mysql-server, mongodb)
Debug-Pakete (debug)
Pakete, die Debug-Informationen für Programme und Laufzeitbibliotheken bereitstellen (cups-dbg, evolution-data-server-dbg)
Dienstprogramme (utils)
verschiedene Werkzeuge (clamav, coreutils, debian-goodies)
Dokumentation (doc)
HOWTOs, FAQs und andere Dokumentation sowie Programme, um diese zu lesen (aptitude-doc-en, debian-faq, debian-handbook, zsh-doc)
Editoren (editors)
Textverarbeitungsprogramme, Editoren für Programmierer und Entwickler (abiword, emacs, kate, vim)
Elektronik (electronics)
Programme zur Entwicklung und Simulation elektronischer Schaltungen (arduino, verilog)
Embedded (embedded)
Software, die für die Benutzung in oder mit Embedded Systemen geeignet ist (gpe, matchbox, usbprog, urjtag)
Entwicklung (devel)
Entwicklungswerkzeuge und -umgebungen, Compiler, usw. (automake, binutils, g++)
Entwicklungsbibliotheken (libdevel)
Header-Dateien zu Bibliotheken (libc6-dev, okular-dev, zathura-dev)
E-Mail (mail)
alles rund um E-Mail; Mailserver, Mailprogramme, Spamfilter, etc. (postfix, mutt, spamassassin)
GNOME (gnome)
Programme zur GNOME-Desktop-Umgebung (etherape, evince, gnome-control-center, gnome-media)
GNU R (gnu-r)
Programme um die freie Implementierung der Statistik-Sprache R (r-base, r-mathlib)
GNUstep (gnustep)
Programme zur GNUstep-Umgebung (gnustep, gnustep-icons)
Grafik (graphics)
Programme zur Bildbearbeitung (dia, epub-utils, giftrans, gimp)
Haskell (haskell)
alles rund um die Programmiersprache Haskell (haskell-platform, happy)
GObject Introspection (introspection)
GObject Introspection Middleware, Schnittstellen zwischen GObject-C-Bibliotheken und anderen Programmiersprachen [GObject-Introspection] (gir1.2-ebook-1.2)
Interpreter (interpreters)
Interpretierte Programmiersprachen wie bspw. Tcl/Tk (luajit, m4, tcl)
Java (java)
alles rund um die Programmiersprache Java (ant, tomcat8, openjdk-7-jre)
KDE (kde)
Programme zum KDE-Desktop (apper, kdm, knotes)
Kernel (kernel)
Betriebssystem-Kernel und zugehörige Module und Programme (dkms, firmware-atheros, firmware-linux, kernel-package, linux-image-amd64)
Klang (sound)
alles für den guten Ton (alsa-utils, audacious, playmidi, xmms2)
Kommunikation (comm)
Kommunikationsprogramme für externe Schnittstellen, Modems und Telefonanlagen (cu, asterisk, hylafax-server, wvdial)
Lisp (lisp)
alles zur Programmiersprache Lisp und Dialekten davon (lush, mit-scheme, picolisp)
Mathematik (math)
mathematische und wissenschaftliche Programme (bc, concalc, euler, freemath)
Metapakete (metapackages)
Paketgruppen (siehe Abschnitt 2.7, „Debian-Pakete (Varianten)“) (games-finest, gnome, kde-full, gis-devel)
Mono/CLI (cli-mono)
alles rund um die C#-Implementierung Mono und die Common Language Infrastructure (monodoc-browser)
Netzwerk (net)
Netzwerkserver und Clientprogramme, Programme zur Netzwerkkonfiguration (bind9, centerim, debmirror, isc-dhcp-client)
Usenet News (news)
Software für Usenet-Newsgruppen (slrn, nget, tin)
OCaml (ocaml)
alles zur Programmiersprache OCaml (cameleon, libcurl-ocaml, ocamlwc)
Perl (perl)
alles zur Programmiersprache Perl, CPAN-Module (libaudio-file-perl, perl, perl-doc)
PHP (php)
alles zur Programmiersprache PHP (icinga-web, php5)
Python (python)
alles zur Programmiersprache Python (python3, idle)
Ruby (ruby)
alles zur Programmiersprache Ruby (ruby, ruby-xmmsclient)
Schriften (fonts)
Schriften und Programme zum Verarbeiten von Schriften (fontforge, fontconfig, xfonts-cyrillic)
Shells (shells)
verschiedene Shells (bash, fish, zsh)
Spiele (games)
Spiele und Unterhaltung (freeciv-server, gcompris, openttd)
Sprachpakete (localization)
Lokalisierungsunterstützung für große Softwarepakete (firefox-l10n-all, kde-l10n-es, libreoffice-l10n-ar)
TeX (tex)
alles zum Schriftsatzsystem TeX, inkl. LaTeX und XeTeX (dvi2ps, biblatex, gummi)
Textverarbeitung (text)
Werkzeuge zum Umgang mit Textdateien (a2ps, xpdf, wordnet, wogerman)
udeb-Pakete des Debian-Installers (debian-installer)
spezielle Pakete zur Verwendung im Debian-Installer, siehe Abschnitt 2.7.3, „Mikro-Binärpakete“ (archdetect, cdrom-detect)
Verschiedenes (misc)
Diverses, was sonst nirgends hineinpasst (bochsbios, cpuburn, screen)
Versionskontrollsysteme (vcs)
Versionskontrollsysteme und zugehörige Hilfswerkzeuge (bzr, cvs, git)
Video (video)
Videobetrachter, -editoren, -rekorder, -sender (dvb-apps, dvbstream, gnome-mplayer, mpv)
Web (web)
Webbrowser, Download-Tools, HTML-Editoren, usw. (bluefish, firefox)
Webserver (httpd)
Webserver und ihre Module (apache2, nginx, lighttpd, libapache2-mod-perl2, libapache2-mod-php5)
Wissenschaft (science)
Programme zum wissenschaftlichen Arbeiten (celestia, garlic)
X Window (x11)
X-Server, Window-Manager und Anderes (xterm, xsensors, xorg-xserver)
XFCE (xfce)
Programme zum XFCE-Desktop (thunar, xfwm4, xfwm4-themes)
Zope/Plone (zope)
alles rund um das Zope-Framework (zope-common, zope2.13)

Erweiterung um Debtags

Das Kategorienkonzept hat eine Reihe von Limitierungen, insbesondere die Einordnung eines Pakets in nur eine einzige Kategorie. Um diese Grenzen aufzuheben, gibt es das Debtags-Projekt, welches jedes Paket um passende Schlagworte ergänzt. Dieses Konzept und die dazugehörigen Werkzeuge stehen unter „Erweiterte Paketklassifikation mit Debtags“ (siehe Kapitel 13, Erweiterte Paketklassifikation mit Debtags) im Mittelpunkt.