Kapitel 5. Für Debian-Systeme verfügbare Software

Inhaltsverzeichnis

5.1. Welche Art von Anwendungen und Entwicklungs-Software ist für Debian GNU/Linux verfügbar?
5.2. Wer schreibt die ganzen Programme?
5.3. Wie kann ich eine aktuelle Liste der Programme, die für Debian paketiert wurden, bekommen?
5.4. Wie kann ich eine Entwicklungsumgebung installieren, um Pakete zu bauen?
5.5. Was fehlt bei Debian GNU/Linux?
5.6. Wieso bekomme ich die Nachricht »ld: cannot find -lfoo«, wenn ich Programme kompiliere? Warum gibt es keine libfoo.so-Dateien in den Debian-Bibliothekspaketen?
5.7. (Wie) Unterstützt Debian Java?
5.8. Wie kann ich prüfen, ob ich ein Debian-System benutze und welche Version es ist?
5.9. Wie unterstützt Debian andere Sprachen als Englisch?
5.10. Wo sind ezmlm/djbdns/qmail?
5.11. Wo ist der Player für Flash (SWF)?
5.12. Wo ist Google Earth?
5.13. Wo sind die VoIP-Programme?
5.14. Ich habe eine Karte für drahtloses Netzwerk, die aber nicht mit Linux funktioniert. Was soll ich tun?

5.1. Welche Art von Anwendungen und Entwicklungs-Software ist für Debian GNU/Linux verfügbar?

Wie die meisten Linux-Distributionen bietet Debian GNU/Linux:

  • die Haupt-GNU-Anwendungen für Software-Entwicklung, Dateibearbeitung und Textverarbeitung, darunter gcc, g++, make, texinfo, Emacs, der Bash-Shell und viele aktualisierte Unix-Hilfsprogramme,

  • Perl, Python, Tcl/Tk sowie verschiedene zugehörige Programme, Module und Bibliotheken für diese,

  • TeX (LaTeX) und Lyx, dvips, Ghostscript,

  • das X-Window-System, das eine netzwerkbasierte grafische Benutzerschnittstelle für Linux bereitstellt, und unzählige X-Anwendungen, einschließlich der GNOME-, KDE- und Xfce-Desktop-Umgebungen,

  • ein komplettes Sortiment von Netzwerkanwendungen, mit Servern für Internet-Protokolle wie HTTP (WWW), FTP, NNTP (news), SMTP und POP (E-Mail) sowie DNS (Server für die Namensauflösung); relationale Datenbanken wie PostgreSQL, MySQL; außerdem Webbrowser, inklusive der verschiedenen Mozilla-Produkte.

  • eine vollständige Palette von Büroanwendungen, wie die Office-Programme von LibreOffice, Gnumeric und andere Tabellenverarbeitungsprogramme, WYSIWYG-Editoren und Kalender.

Mehr als 58100 Pakete, bestehend aus News-Servern und -Leseprogrammen, Sound-Unterstützung, FAX-Programmen, Datenbank- und Tabellen-Programmen, Bildverarbeitungsprogrammen, Kommunikations-, Netzwerk- und E-Mail-Programmen, Webservern sowie Amateurfunkprogrammen und vielem mehr sind in der Distribution enthalten. Weitere 1000 Software-Sammlungen sind als Debian-Paket verfügbar, aber wegen Lizenzeinschränkungen gehören diese nicht zum offiziellen Teil von Debian.

5.2. Wer schreibt die ganzen Programme?

Für jedes Paket finden Sie die Autoren des Programms in der Datei /usr/share/doc/PAKET/copyright, wobei PAKET durch den Paketnamen ersetzt werden muss.

Betreuer, die diese Software für das Debian GNU/Linux-System paketiert haben, sind in der control-Datei (siehe Abschnitt 7.4, „Was ist eine Debian-control-Datei?“) aufgelistet, die jedem Paket beiliegt. Das Debian-Änderungsprotokoll (Changelog) in /usr/share/doc/PAKET/changelog.Debian.gz erwähnt diejenigen, die ebenfalls an diesem Debian-Paket gearbeitet haben.

5.3. Wie kann ich eine aktuelle Liste der Programme, die für Debian paketiert wurden, bekommen?

Eine vollständige Liste ist auf jedem Debian-Spiegelserver in der Datei indices/Maintainers zu finden. Diese Datei enthält die Paketnamen sowie die Namen und E-Mail-Adressen der jeweiligen Betreuer.

Debians Paket-Website fasst die Pakete in rund dreißig Gruppen (Sektionen) zusammen.

5.4. Wie kann ich eine Entwicklungsumgebung installieren, um Pakete zu bauen?

Wenn Sie auf Ihrem Debian-System Pakete bauen (erstellen) möchten, benötigen Sie eine grundlegende Entwicklungsumgebung, inklusive einem C-/C++-Compiler und einigen anderen essentiellen Paketen. Um diese Umgebung zu erstellen, müssen Sie einfach nur das Paket build-essential installieren. Dies ist ein Meta- oder Platzhalter-Paket. Es steht für einen Satz von Paketen, die die zum Bau eines Debian-Pakets benötigten Standard-Entwicklungswerkzeuge beinhalten.

Gewisse Programmpakete lassen sich allerdings nur mit zusätzlicher Software bauen, etwa Bibliotheks-Headern oder zusätzlichen Werkzeugen wie autoconf oder gettext. Debian stellt viele dieser Werkzeuge, die zum Bau von Software-Paketen benötigt werden, als Debian-Pakete bereit.

Herauszufinden, welche Software genau benötigt wird, kann unter Umständen schwierig sein, außer Sie möchten lediglich Debian-Pakete neu bauen. Dies ist nämlich recht einfach, da offizielle Debian-Pakete eine Liste der zusätzlichen Software enthalten müssen (zusätzlich zu den Paketen in build-essential), die zum Bau benötigt werden. Diese werden Build-Dependencies (Bauabhängigkeiten) genannt. Um alle zum Bau eines bestimmtes Quellpakets nötigen Pakete zu installieren und das Quellpaket dann anschließend zu bauen, führen Sie einfach folgendes aus:

# apt-get build-dep foo
# apt-get source --build foo

Beachten Sie: falls Sie die Linux-Kernel, die von Debian angeboten werden, selbst bauen möchten, sollten Sie auch das kernel-package-Paket installieren. Weitere Details finden Sie unter Abschnitt 10.2, „Welche Werkzeuge zum Erzeugen eines angepassten Kernels stellt Debian zur Verfügung?“.

5.5. Was fehlt bei Debian GNU/Linux?

Es existiert eine Auflistung von Paketen, die noch für Debian erstellt werden sollen: die Liste der Arbeit-bedürfenden und voraussichtlichen Pakete.

Weitere Informationen über das Hinzufügen fehlender Software finden Sie unter Kapitel 13, Zum Debian-Projekt beitragen.

5.6. Wieso bekomme ich die Nachricht »ld: cannot find -lfoo«, wenn ich Programme kompiliere? Warum gibt es keine libfoo.so-Dateien in den Debian-Bibliothekspaketen?

Die Debian-Richtlinien verlangen, dass solche symbolischen Links (zu libfoo.so.x.y.z oder ähnlichen) in separaten Entwicklungspaketen gepackt werden. Diese Pakete werden üblicherweise »libfoo-dev« oder »libfooX-dev« (wenn das Bibliothekspaket libfooX heißt, X steht dabei für eine Zahl) genannt.

5.7. (Wie) Unterstützt Debian Java?

Es sind mehrere freie Implementierungen der Java-Technologie als Debian-Pakete verfügbar, die sowohl Java-Development-Kits (Entwicklungsumgebungen) wie auch Runtime-Environments (Laufzeitumgebungen) enthalten. Sie können damit unter Debian Java-Programme schreiben, auf Programmierfehler untersuchen und auch ausführen.

Um ein Java-Applet ausführen zu können, benötigen Sie einen Webbrowser mit der Fähigkeit, diese zu erkennen und auszuführen. Verschiedene in Debian verfügbare Webbrowser, wie Mozilla oder Konqueror, können mit einem Java-Plugin erweitert werden, welches es ermöglicht, Java-Applets auszuführen.

Weitere Informationen finden Sie in der Debian-Java-FAQ.

5.8. Wie kann ich prüfen, ob ich ein Debian-System benutze und welche Version es ist?

Um zu überprüfen, ob Ihr System von Original-Debian-CDs installiert wurde, verwenden Sie den Befehl

lsb_release -a

Es wird der Name der Distribution (im Feld »Distributor ID«) sowie die Version des Systems (in den Feldern »Release« und »Codename«) angezeigt. Folgendes ist ein Beispiel von einem Debian-System:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.4 (wheezy)
Release:    7.4
Codename:   wheezy

Sie können außerdem kontrollieren, ob die Datei /etc/debian_version existiert. Sie enthält nur eine einzelne Zeile mit der Versionsnummer der Veröffentlichung, wie sie in dem base-files-Paket definiert ist.

Benutzer sollten sich jedoch bewusst machen, dass ein Debian-System aus vielen Teilen besteht, jedes von ihnen kann aktualisiert werden, (meistens) unabhängig voneinander. Jede Debian-Veröffentlichung enthält streng definierte und unveränderbare Inhalte. Aktualisierungen sind separat verfügbar. Um eine kurze Ausgabe des Installationsstatus' eines Pakets foo zu bekommen, geben Sie dpkg --list foo ein. Eine ausführlichere Beschreibung erhalten Sie mit:

dpkg --status foo

Die Versionsnummern aller installierten Pakete können Sie sich anzeigen lassen mit:

dpkg -l

Beachten Sie, dass die Existenz des dpkg-Programms zwar die Installation von Debian-Paketen auf dem jeweiligen System ermöglicht, aber nachdem das Programm auf viele Betriebssysteme und Architekturen portiert wurde, kann aus dem Vorhandensein von dpkg nicht sicher gefolgert werden, dass es sich um ein Debian GNU/Linux-System handelt.

5.9. Wie unterstützt Debian andere Sprachen als Englisch?

  • Debian GNU/Linux enthält Tastaturbelegungen (Keymaps) für fast zwei Dutzend Tastaturen und stellt im kbd-Paket Hilfsprogramme zum Installieren, Anschauen und Modifizieren dieser Tabellen bereit.

    Bei der Installation wird der Benutzer gefragt, welche Tastatur genutzt werden soll.

  • Nahezu alle in Debian enthaltene Software unterstützt UTF-8 als Zeichensatz. Die alten Zeichensätze wie ISO-8859-1 oder ISO-8859-2 sind veraltet und sollten nicht mehr verwendet werden.

  • Momentan werden über die manpages-LANG-Pakete Handbuchseiten (manpages) in Deutsch, Spanisch, Französisch, Ungarisch, Italienisch, Japanisch, Koreanisch, Niederländisch, Polnisch, Portugiesisch, Russisch, Türkisch und Chinesisch bereitgestellt (wobei LANG dem 2-Zeichen ISO-Code des Landes entspricht). Um auf eine Handbuchseite in einer bestimmten Sprache zuzugreifen, muss der Benutzer die Umgebungsvariable »LC_MESSAGES« auf die entsprechende Sprache setzen.

    Im Falle der deutschsprachigen Handbuchseiten muss LC_MESSAGES z.B. auf »german« gesetzt werden. Das man-Programm wird dann die deutschen Handbuchseiten unter /usr/share/man/de/ suchen.

5.10. Wo sind ezmlm/djbdns/qmail?

Dan J. Bernstein pflegte ursprünglich all seine Programme unter einer einschränkenden Lizenz zu vertreiben, die das Verteilen von modifizierten Binärdateien nicht gestattete. Im November 2007 allerdings sagte Bernstein: "[...] i have decided to put all of my future and [...] past software into the public domain"; damit gab er all seine Software für die Allgemeinheit frei. Die Bedingungen zur Verteilung seiner Software finden Sie in seiner FAQ from distributors.

Als dies geschrieben wurde (03/2016), war ezmlm-idx nur in Experimental verfügbar (mlmmj ist ähnlich und in Debian Jessie enthalten). djbdns ist nur in Sid (Unstable) verfügbar, Details finden Sie in Fehler #516394 und Fehler #796118; das Paket dbndns enthält eine vergleichbare Alternative. Die publicfile-Software ist immer noch freie Software, ein publicfile-installer-Paket ist im contrib-Bereich des Debian-Archivs zu finden.

Weitere Software von Dan J. Bernstein (qmail, daemontools, ucspi-tcp) ist in Debian enthalten.

5.11. Wo ist der Player für Flash (SWF)?

Debian enthält mit gnash und swfdec zwei freie SWF-Movie-Player.

5.12. Wo ist Google Earth?

Google Earth ist auf Googles Website für GNU/Linux erhältlich; allerdings es ist nicht nur nicht-freie Software, sondern darf darüber hinaus grundsätzlich nicht von Dritten abgegeben werden. Das Paket googleearth-package (aus dem contrib-Bereich) könnte jedoch bei der Nutzung dieser Software hilfreich sein.

5.13. Wo sind die VoIP-Programme?

Es gibt zwei offene Protokolle, die für Voice over IP verwendet werden: SIP und H.323. Beide sind in einer Vielzahl von Programmen in Debian main implementiert. ekiga ist einer der beliebtesten Clients.

5.14. Ich habe eine Karte für drahtloses Netzwerk, die aber nicht mit Linux funktioniert. Was soll ich tun?

Kaufen Sie eine, die funktioniert :)

Alternativ können Sie ndiswrapper verwenden, um einen Windows-Treiber in Ihrem Linux-System einzusetzen (falls Sie einen haben). Weitere Informationen finden Sie auf der ndiswrapper-Seite im Debian-Wiki.