Programmpaket
# Programmpaket

Ein Programmpaket, Programmsystem, Softwarepaket, eine Software-Suite oder ein Anwendungspaket ist die Zusammenstellung von (logisch) zusammengehörenden Dateien und Anwendungsprogrammen.

Je nach Betriebssystem gibt es verschiedene Verfahren der Softwareverwaltung. Die Programme und Prozesse zur Erstellung und Verwendung von Programmpaketen nennt man Paketverwaltung.

## Inhalt eines Programmpaketes

Ein Softwarepaket kann neben den eigentlichen ausführbaren Programmen auch andere Programme und spezielle Dateien enthalten, beispielsweise interpretierbare Programme, Skripte, Bilddateien, Audiodateien, anwendungsspezifische Beispieldateien sowie Übersetzungen, Dokumentation und Quelltexte. Oft sind auch begleitende Meta-Informationen über den Autor, die Lizenz, den Entwicklungsfortschritt und die Version enthalten. Daher auch das Wort Software-Suite – über das Französische (suite für ‚Folge, Verkettung, Begleitung‘) aus dem Lateinischen (sequi für ‚folgen‘).

Je nach Paket sind weitere Dateien direkt für die Integration in das Betriebssystem zuständig. Neben Installations- und Deinstallationsroutinen können das auch Modifikationen am Betriebssystem selbst sein.

## Aufbau und Struktur

Die einfachsten Programmpakete sind einfache Archive, deren Inhalte an eine beliebige Stelle entpackt werden können. Dies trifft beispielsweise auf Quelltext-Pakete auf Systemen wie Linux und BSD zu. Sie haben Dateiendungen wie .tar.gz, .tar.bz2, .tgz (Tarball) oder .zip.

Das gleiche Format, allerdings mit zusätzlichen Informationen für die Installation, wird von Quelltext-basierten Linux-Distributionen und BSD-Derivaten verwendet. Da die Software vor der Installation noch kompiliert werden muss, sind Informationen darüber enthalten, welche andere Software bereits installiert sein muss und wohin das Paket selbst installiert wird.

Komplexere Formate stellen die Dateitypen .deb und .rpm dar, die Software für die Linux-Distributionen Debian und Red Hat (und jeweils ihrer Ableger und kompatiblen Distributionen) enthalten.

Falls kein zentrales Werkzeug zur Verwaltung der Software bereitsteht, ist jedes Programmpaket für seine eigene Installation verantwortlich. Hierzu werden Installationsprogramme verwendet, wie sie unter Microsoft Windows (siehe Windows Installer) und Apples Mac OS X üblich sind. Diese Betriebssysteme stellen jedoch eine Programmbibliothek mit installationsbezogenen Funktionen bereit, die von den meisten Setup-Programmen genutzt wird.

## Schwierigkeiten und Lösungen

Da die Installation über Internet-Protokolle immer weiter verbreitet ist, sind heutige Programmpakete mit Sicherheitsmerkmalen ausgestattet. Das betrifft einerseits die Überprüfung auf physikalische Unversehrtheit mittels Prüfsumme, andererseits auch eine kryptografische Absicherung mittels digitaler Signatur des Software-Autors oder des Distributors.

Da einige Pakete von anderen abhängen, ist das Lösen dieser Abhängigkeiten eines der ureigensten Probleme. Mit Hilfe von virtuellen Paketen, der Aufspaltung großer Pakete in mehrere kleinere und einer konsistenten Vergabe von Versionsnummern bleibt dem Nutzer dies heutzutage größtenteils verborgen.

