Grundlagen
Softwareinstallation und Paketverwaltung
„Ein Programm installieren“ klingt nach einem einzigen Vorgang. Tatsächlich kann es je nach System bedeuten, eine Datei zu kopieren, einen Assistenten durchzuklicken oder ein Paket samt Abhängigkeiten aus einer Softwarequelle zu beziehen.
Was Installieren bedeutet
Im einfachsten Fall besteht ein Programm aus einer einzigen ausführbaren Datei. Wer sie auf den Datenträger kopiert, kann sie starten. Unter MS-DOS war das für viele kleine Werkzeuge üblich: Ein Verzeichnis mit Programmdateien genügte.
Größere Anwendungen brauchen mehr. Sie bringen Bibliotheken mit, also gemeinsam nutzbare Programmteile, legen Einstellungen ab, tragen sich in Menüs ein oder registrieren sich für bestimmte Dateitypen. Manche richten zusätzlich Hintergrunddienste ein. Installieren heißt dann: alle diese Teile an die richtigen Stellen bringen und dem System mitteilen, dass es sie gibt.
Wo diese Teile landen, hängt vom Dateisystem und seinen Verzeichniskonventionen ab.
Installer und Setup-Programme
Ein Installer ist ein Programm, das eine andere Software einrichtet. Es fragt etwa nach einem Zielordner, kopiert Dateien, legt Verknüpfungen an und speichert Einstellungen. Unter Windows 95 und Windows XP war dieses Modell für Anwendungen verbreitet; viele Programme brachten ihr eigenes Setup mit. In der Systemsteuerung gab es einen Bereich zum Hinzufügen und Entfernen von Software; dort erschienen allerdings nur Programme, die sich bei der Installation entsprechend eingetragen hatten.
Wie genau ein Setup arbeitet, bestimmt meist der Hersteller der Anwendung. Zwei Programme für dieselbe Windows-Version konnten sich daher sehr unterschiedlich verhalten, und spätere Windows-Generationen ergänzten weitere Installationswege. Auch andere Desktopsysteme kannten eigene Installationsprogramme.
Pakete und Paketmanager
Einen anderen Ansatz verfolgen Paketverwaltungen. Ein Paket ist ein Archiv mit den Dateien eines Programms und zusätzlichen Angaben: Name, Version und Abhängigkeiten, also welche anderen Pakete vorhanden sein müssen. Pakete liegen in Repositorys, das sind vom Anbieter gepflegte Softwarequellen. Ein Paketmanager lädt die gewünschten Pakete, löst Abhängigkeiten auf und führt in einer Paketdatenbank Buch darüber, welche Dateien zu welchem Paket gehören.
Ubuntu 10.04 LTS ist dafür ein anschauliches Beispiel. Die Paketwerkzeuge dpkg und apt gehören zur Distribution, nicht zum Linux-Kernel: Der Kernel verwaltet Hardware und Prozesse, die Distribution stellt Software zusammen und liefert die Werkzeuge, um sie zu installieren und aktuell zu halten. Andere Distributionen verwenden andere Paketformate.
Der Vorteil liegt in der zentralen Übersicht: Das System weiß, was installiert ist, und kann Aktualisierungen gesammelt anbieten.
Anwendungsordner und Bundles
Manche Systeme fassen die Bestandteile eines Programms in einem Verzeichnis zusammen, das im Dateimanager wie eine einzelne Datei erscheint. Unter Mac OS X 10.4 Tiger sind solche Anwendungsbundles verbreitet: Programmcode, Bilder und weitere Ressourcen liegen in einer festgelegten Ordnerstruktur, die der Finder als ein Programmsymbol zeigt. Viele Anwendungen lassen sich deshalb durch Kopieren in den Programme-Ordner einrichten.
Das bedeutet nicht, dass jede App vollständig in sich geschlossen ist. Einstellungen, Zwischenspeicher oder zusätzliche Komponenten können an anderen Orten liegen, und manche Software nutzt trotzdem einen Installer. Die Idee zusammengehöriger Programmverzeichnisse findet sich auch bei anderen Systemen, etwa bei NeXTSTEP. Mac OS X ging technisch in weiten Teilen aus NeXTSTEP und dessen Nachfolger OPENSTEP hervor, auch wenn seine sichtbare Oberfläche eigenständig gestaltet war.
Deinstallation und Rückstände
Entfernen ist oft schwieriger als Hinzufügen. Hat ein Paketmanager oder ein zentrales Verzeichnis die installierten Dateien erfasst, kann das System sie gezielt wieder löschen. Fehlt diese Buchführung, bleiben leicht Reste zurück: Einstellungsdateien, gemeinsam genutzte Bibliotheken oder Einträge, die niemand mehr braucht.
Solche Rückstände sind selten gefährlich, können aber Speicher belegen oder spätere Installationen verwirren. Umgekehrt ist es manchmal gewollt, dass persönliche Einstellungen eine Deinstallation überstehen, damit sie bei einer Neuinstallation erhalten bleiben. Welche Strategie ein System verfolgt, unterscheidet sich je nach Plattform und Epoche.
Rechte und Vertrauen
Installationen verändern häufig Bereiche, die das ganze System betreffen: gemeinsame Programmverzeichnisse, Systemeinstellungen oder Dienste. Auf Systemen mit Benutzertrennung braucht man dafür erweiterte Rechte, etwa ein Administratorkonto oder root-Rechte. Das schützt davor, dass ein beliebiges Programm unbemerkt das System umbaut. Mehr dazu erklärt Benutzer, Konten und Berechtigungen.
Dazu kommt die Frage des Vertrauens: Wer Software installiert, führt Code eines Dritten mit diesen Rechten aus. Vertrauenswürdige Softwarequellen und signierte Pakete helfen zu prüfen, ob ein Programm vom angegebenen Anbieter stammt und unterwegs nicht verändert wurde. Dass die Software selbst fehlerfrei oder harmlos ist, garantiert eine Signatur nicht. Wie das mit Updates zusammenhängt, beschreibt Sicherheit, Updates und Systempflege.
In den Simulationen des Portals wird keine echte Software installiert; nachgebildete Programme sind Teil der Browser-Anwendung.