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

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

## 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 63879 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 1082 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. I have a device that requires non-free firmware. What should I do?

Firmware refers to embedded software which controls electronic devices. Many devices require firmware to operate. Historically, firmware would be built into the device's ROM or Flash memory, but more and more often, a firmware image has to be loaded into the device RAM by a device driver during device initialisation.

Some devices require non-free firmware to work properly. And there could be firmware updates in the future.

In Debian release 11 (bullseye) and older, Debian did not include non-free firmware on official images and live installations. For Debian 12 onwards, all the packaged non-free firmware binaries that Debian can distribute have been moved to a new component in the Debian archive, called `non-free-firmware`. If you're upgrading from an older release of Debian and you need these firmware binaries, make sure that your sources.list uses this new component:

    http://deb.debian.org/debian trixie main non-free-firmware contrib non-free

For more information please refer to Firmware information in the Debian Wiki.

## 5.11. 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.

Kapitel 4. Kompatibilitätsfragen |  | Kapitel 6. Die Debian-Archive