So funktionieren Software-Installer unter Windows, macOS und Linux

Moderne Betriebssysteme bieten Ihnen einfache Methoden zum Einrichten neuer Anwendungen. Was passiert jedoch, wenn Sie das Installationsprogramm ausführen oder den Befehl ausführen?

Moderne Betriebssysteme bieten Ihnen einfache Methoden zum Einrichten neuer Anwendungen.  Was passiert jedoch, wenn Sie das Installationsprogramm ausführen oder den Befehl ausführen?
Werbung

Moderne Betriebssysteme bieten Ihnen einfache Methoden zum Einrichten neuer Anwendungen. Dazu gehören automatisierte Installer-Pakete sowie Befehle, die viele Softwarebits gleichzeitig installieren. Was passiert jedoch, wenn Sie das Installationsprogramm ausführen oder den Befehl ausführen?

Werfen wir einen Blick darauf, wie Software auf drei großen Desktop-Plattformen installiert wird: Windows, macOS und Linux.

Methoden der Softwareinstallation

Es gibt verschiedene Möglichkeiten, wie Sie neue Anwendungen auf Ihrem Computer ausführen können. In der Reihenfolge der zunehmenden Komplexität umfassen diese:

  • Software Compilation - Erstellen der Anwendung aus dem Quellcode. Nur für die technischsten Benutzer.
  • Software Archive - Entpacken von Archiven wie ZIP-Dateien und Ausführen des Programms von wo auch immer Sie es extrahiert haben. Dies kann einige zusätzliche Feinabstimmungen erfordern.
  • Installer-Pakete - Ermitteln einer Installationsdatei und (Doppelklick) zum Starten der Installation.
  • Software Manager / Stores - Wählen Sie die App über eine nette Oberfläche und klicken Sie auf eine große Schaltfläche "Installieren". Es ist Magie!

In diesem Artikel werden wir die Installer-Pakete untersuchen, da die meisten Software-Manager / Stores diese Art von Paketen sowieso im Hintergrund behandeln. Für die wichtigsten Desktop-Plattformen von heute - Windows, macOS und Linux - schauen wir uns an, was eines dieser Pakete ausmacht und was passiert, wenn Sie es installieren.

Microsoft Windows

Die Installationspakete, auf die Sie wahrscheinlich für Windows stoßen, sind in zwei Hauptvarianten erhältlich. Ausführbare Dateien (EXE) können Ihr Programm einrichten, indem Sie Dateien am richtigen Ort platzieren und Windows-Registrierungsaktualisierungen durchführen. Windows Installer-Pakete (MSI) ergänzen dies, indem standardisierte Dienste wie z. B. Deinstallationen bereitgestellt werden.

Sie können den Inhalt von EXEs oder MSIs überprüfen, indem Sie das Archiv mit 7-Zip öffnen. 7Zip: Ein kostenloses Programm zum Entpacken von ungewöhnlichen Archivformaten 7Zip: Ein kostenloses Programm zum Entpacken von ungewöhnlichen Archivformaten Lesen Sie weiter. Wenn Sie es verwenden, um das EXE-Installationsprogramm von 7-Zip anzuschauen, finden Sie eine Reihe von verschiedenen Dateien innerhalb von:

Anatomie-Software-Paket 7zip Inhalt

Während diese Dateien keinen Ordner innerhalb des Installers enthalten, hat der Entwickler sie auf ein Zielverzeichnis ausgerichtet. Die meisten von ihnen landen am "Standardinstallationspfad" - derselbe Vorschlag, den Sie normalerweise für einen Ordner wie "C: \ Programme \ [Programmname]" oder "C: \ Programme (x86) \ [Ihre neue App sehen ]. "

Wenn Sie ein ausgereiftes Tool wie InstallShield zum Erstellen von Installationspaketen verwenden, können App-Entwickler die Installation anpassen. Zum Beispiel können sie bestimmen, auf welchen Windows-Versionen es installiert wird, Verknüpfungen einrichten, die im Startmenü und / oder auf dem Desktop erstellt werden, oder Benutzerinformationen wie Name, Adresse usw. sammeln. Das Beispiel-InstallShield-Projekt in Das Bild unten zeigt den Bildschirm für die Einstellung, ob Windows-Registrierungsschlüssel erstellt oder aktualisiert werden sollen.

Anatomie-Softwarepaket installShield-Registrierung

Mit InstallShield werden die App-Dateien und andere Anpassungen in einer setup.exe- Datei verpackt . Wenn Sie es mit 7-Zip öffnen, wird Ihnen angezeigt, dass es sich um ein MSI-Paket handelt, das bei der Ausführung genauso aussieht wie die Installation, an die wir alle gewöhnt sind. Lassen Sie uns überprüfen, was während dieses Prozesses passiert.

Anatomiesoftwarepaket installshield install

Windows-Installationsprozess

Ein Installationsprogramm führt die folgenden Schritte aus, um Ihre App für die Verwendung einzurichten (die genaue Reihenfolge hängt von den Anpassungen des Entwicklers ab):

  1. Ein Installer kann andere Archive enthalten, wie das oben erwähnte MSI oder Formate wie CAB. In einem ersten Schritt extrahiert das Installationsprogramm diese an einen temporären Ort.
  2. Als Nächstes wird überprüft, ob alle eingerichteten Abhängigkeiten verfügbar sind. Wenn etwas fehlt, wird es heruntergeladen, wenn möglich, oder das Installationsprogramm mit einem Fehler beenden, wenn nicht.
  3. Wenn Abhängigkeiten erforderlich sind, werden sie zuerst mit dem Installationsprogramm installiert, mit dem sie geliefert werden (jemals wurde eine Installation für .NET Framework unterbrochen?) Microsoft .NET Framework: Warum Sie es benötigen und wie es auf Windows installiert wird Microsoft .NET Framework: Warum Sie benötigen es und installieren es unter Windows Sie müssen es entweder installieren oder aktualisieren.Aber Sie wissen, was das .NET Framework ist? Wir zeigen Ihnen, warum Sie es benötigen und wie Sie die neueste Version erhalten können.
  4. Als Nächstes beginnt das Installationsprogramm mit dem Kopieren der App-Dateien und deren Platzierung am richtigen Ort.
  5. Wenn der Entwickler irgendwelche Verknüpfungen konfiguriert hat, wird das Installationsprogramm sie erstellen und auf den tatsächlichen Installationspfad verweisen (denken Sie daran, Sie können dies ändern). Wie Sie Windows-Desktopverknüpfungen auf einfache Weise erstellen können Wir kümmern uns um die schnelle und einfache Erstellung von Menüs und Ordnern. Lesen Sie mehr, wenn das Installationsprogramm ausgeführt wird.
  6. Änderungen an der Windows-Registrierung 3 Tools zum Überwachen und Untersuchen der Windows-Registrierung 3 Tools zum Überwachen und Untersuchen der Windows-Registrierung Die Windows-Registrierung ist einer der am wenigsten verstandenen Teile des Windows-Betriebssystems. Wir zeigen Ihnen Werkzeuge, die die Registrierung vereinfachen und Probleme identifizieren können. Read More, falls vorhanden, wird ausgeführt.
  7. Schließlich kann das Installationsprogramm den Benutzer auffordern, Informationen wie den Namen oder die Adresse der Website einzugeben.

Dieser Prozess scheint im Vergleich zum nächsten Betriebssystem auf der Liste komplex zu sein. Werfen wir einen Blick auf die Installation von Software auf macOS.

Apple MacOS

Windows-Installateure haben unter der Haube viel zu tun. Aber wenn Sie einen Mac verwendet haben, wissen Sie, dass die Installation einer Anwendung oft so einfach ist wie das Herunterladen einer Kopie der App, das Öffnen des Disk Images (DMG) und das Befolgen einiger einfacher Eingabeaufforderungen So installieren und entfernen Sie Mac Software: 5 einfache Methoden So installieren und entfernen Sie Mac-Software: 5 einfache Methoden Auf einen Mac gewechselt und sich mit den Grundlagen vertraut gemacht? Fragen Sie sich, wie Sie Software über die Befehlszeile installieren können? Hast du alte Windows Apps, die du einfach auf deinem Apple Computer ausführen musst? Weiterlesen . Manchmal bietet der Download sogar ein "Drag here!" - Icon.

Lass uns in das APP-Paket und das Pendant zum PKG-Installer eintauchen.

macOS Paketstruktur

Die APP-Datei auf der Oberfläche ist aus zwei Gründen einfacher als Windows. Erstens ist es ein Standardordner. Der einzige Unterschied ist, dass es mit einem Suffix ".APP" endet. Wenn Sie eine dieser Dateien unter Windows herunterladen, werden sie genauso angezeigt wie jeder andere Dateiordner im Explorer. Zweitens verlangen APP-Dateien, dass absolut alles, was das Programm benötigt, enthalten ist. Sie müssen sich keine Sorgen über fehlende Abhängigkeiten mit diesen Installationstypen machen.

Diese Bündel müssen drei Dinge in einem Ordner enthalten, der "Inhalt" genannt wird: 1) eine Datei "Info.plist", die Anwendungsmetadaten wie Name, Sprache, Versionsnummer usw. enthält; 2) ein "MacOS" -Verzeichnis, das die Hauptdatei enthält; und 3) ein "Resources" -Verzeichnis, das Assets enthält, für die die Anwendung funktionieren muss (z. B. ein Anwendungssymbol). Es gibt andere optionale Ordner wie "Frameworks" (Bundles mit Funktionen, die nicht für die App spezifisch sind), "Plug-Ins" (Funktionen für die App, die nicht benötigt werden) und "SharedSupport" (Fremddaten wie Vorlagen).

Mac App-Ordner

Im Gegensatz dazu ist das PKG-Format eine Kombination aus einem Windows-ähnlichen Installer mit einer Unix-ähnlichen Struktur. 3 Unix-ähnliche Betriebssysteme, die nicht Linux sind 3 UNIX-ähnliche Betriebssysteme, die nicht Linux sind Kürzlich begannen die Leute zu verwirren " UNIX "mit" Linux. " Linux wurde von UNIX beeinflusst, aber UNIX-Systeme haben keine Beziehung zu Linux. Hier sind einige wichtige UNIX-basierte Systeme, die Sie kennen sollten. Weiterlesen . Die 7-Zip-Anwendung wird auch eine PKG-Datei öffnen, die im XAR- Format komprimiert ist. Innerhalb ist eine oder mehrere Payload- Dateien, die auch ein Archiv sind. Um den Inhalt zu extrahieren, benutzen Sie die folgende Befehlskette ( cpio ist ein Archivformat sowie ein Programm zum Manipulieren) in einem Mac oder Linux Terminal:

cat Payload | gunzip -dc | cpio -i 

Danach sehen Sie eine vertraute Unix-ähnliche Verzeichnisstruktur.

Im folgenden Beispiel habe ich den Dokumentkonverter Pandoc verwendet. Es enthält eine Binärdatei in / usr / local / bin und einige Dokumentation in / usr / local / share / man . Wie kommen diese Dinge wirklich zustande? Wir schauen uns an, wie diese jeweils auf Ihrem Mac installiert werden.

Mac-Pkg-Struktur

Ich habe die Windows-Version von 7-Zip verwendet, um dies zu veranschaulichen, und nicht die reine Linux-Version mit Befehlszeilen.

macOS APP Installationsprozess

Wenn Sie diese APP-Datei in Ihren Anwendungsordner legen, ändert sich das nicht wirklich. Denken Sie daran, dass alles, was zum Ausführen des Programms benötigt wird, in sich abgeschlossen ist. Der einzige Unterschied zu einem Standard-Drag-and-Drop besteht darin, dass die Datei "Info.plist" beim System registriert wird.

Mac App-Kopie

Dadurch werden Dinge konfiguriert, z. B. welche Programmdatei beim Start der App aufgerufen wird, welches Symbol angezeigt wird, welche Dateitypen unterstützt werden und vieles mehr. Aber ansonsten ist Ihre App (wie das unten gezeigte APP-Paket für den Atom-Editor) jetzt einsatzbereit.

Mac App installiert

macOS PKG Installationsprozess

Beim Öffnen einer PKG-Datei wird hingegen ein Installationsprogramm im "Assistenten-Stil" gestartet. Bei einfachen Programmen ist dies normalerweise ein Komponenteninstallationsprogramm, das normalerweise die folgenden Schritte ausführt:

  1. Führen Sie das Vorinstallations- Skript aus.
  2. Packen Sie den Inhalt "Payload" auf die Maschine aus.
  3. Führen Sie das Postinstall- Skript aus.

mac pkg installieren

Entwickler können dann mehrere Komponenten zu einer einzigen Produktarchivinstallation kombinieren. Dadurch werden Optionen wie die Anzeige eines Endbenutzerlizenzvertrags (EULA) für den Benutzer zur Annahme, das Sammeln von Informationen vom Benutzer und die Auswahl der zu installierenden Komponenten hinzugefügt. In der Zwischenzeit kümmert sich der Apple Installer um alle Details, um die notwendigen Komponenten einzeln im Hintergrund zu installieren.

Wenn wir von Unix-basierten Installationsprogrammen sprechen, werden wir im nächsten Abschnitt zu den beiden führenden Linux-Paketformaten übergehen.

Ubuntu und Fedora Linux

Ah, DEB im Vergleich zu RPM So installieren Sie Software unter Linux: Erklärte Paketformate So installieren Sie Software unter Linux: Erklärte Paketformate Sie sind zu Linux gewechselt und möchten einige Software installieren. Paketmanager unterscheiden sich jedoch je nach Distro. Welche Apps können Sie herunterladen und installieren? Es ist alles in den Akronymen. Weiterlesen . Einer der großen Flammenkriege, der nur von Leuten wie vi gegen emacs oder KDE gegen GNOME übertroffen wurde. Diese Formate sind jedoch ähnlicher als unterschiedlich. Lass uns einen Blick darauf werfen.

Linux-Paketdateistruktur

Um sich das Innere einer DEB-Datei anzusehen, können Sie einen GUI-Archivmanager ausprobieren. Andernfalls verwenden Sie den Befehl ar . Der folgende Befehl wurde in das Terminal eingegeben 40+ Die meisten verwendeten Linux-Terminalbefehle 40+ Die meisten verwendeten Linux-Terminalbefehle Ob Sie gerade erst anfangen oder einfach nur neugierig auf das Linux-Terminal sind, hier sind die gebräuchlichsten Befehle, die Sie durch Ihre gesamte Zeit führen unter Linux. Read More wird den Inhalt eines Debian-Pakets extrahieren:

 ar -x name-of-your-package.deb 

Drei Dateien werden daraus entstehen:

  • control.tar.gz - Dies wiederum enthält eine primäre Datei, Control, die Metadaten über das Paket enthält, wie den offiziellen Namen, die Version und Abhängigkeiten. Es kann auch andere Dateien enthalten, z. B. Skripts, die während des Installationsprozesses ausgeführt werden, oder Standardkonfigurationsdateien.
  • data.tar.gz - Die Dateien, aus denen die Anwendung besteht, befinden sich in diesem TAR.GZ-Archiv. Alles, einschließlich Binärdateien, Dokumentation und Standardkonfigurationen sind hier. Im Beispielpaket kde-service-menu-encfs_0.5.2_all.deb enthält es Dateien und Verzeichnisse, wie im folgenden Bild gezeigt.
  • debian-binary - Dies ist eine Datei, die definiert, welche Version des Debian-Paketformats die Datei verwendet. Für moderne Distributionen enthält dies nur "2.0" in einer einzigen Zeile.

deb Hauptkontrolle

In Fedora können Sie mit den Befehlen rpm2cpio und cpio ein RPM-Paket extrahieren und deren Dateien durchsuchen:

 rpm2cpio name-of-your-package.rpm | cpio -idvm 

Für das Paket kde-cli-tools-5.9.4-2.fc26.x86_64.rpm sehen Sie einen Dateibaum ähnlich dem DEB-Paket. Aber es liefert die Metadaten nicht, zumindest nicht im Binärpaket . Sie müssen das Quell-RPM (.SRC.RPM), das Ihrer Binärversion entspricht, herunterladen und dann den gleichen Befehl wie oben für diese Datei verwenden. Darin enthalten ist eine SPEC-Datei, die viele der gleichen Elemente wie die Kontrolldatei in einem Debian-Paket enthält.

Nachdem wir nun die Struktur von Linux-Paketen kennen, wollen wir untersuchen, was passiert, wenn Sie sie tatsächlich installieren. Software unter Linux installieren: Paketformate erklärt Wie man Software unter Linux installiert: Erklärte Paketformate Sie sind zu Linux gewechselt, und möchte etwas Software installieren. Paketmanager unterscheiden sich jedoch je nach Distro. Welche Apps können Sie herunterladen und installieren? Es ist alles in den Akronymen. Weiterlesen .

Installation des Linux-Pakets

Wenn Sie Pakete mit beliebigem Format unabhängig von dem Front-End installieren, tritt eine ähnliche Reihe von Schritten auf:

  1. Das Paketsystem untersucht den Inhalt des Pakets, um festzustellen, ob Abhängigkeiten fehlen. Je nach Tool wird Sie entweder gewarnt oder auf den Download eingestellt.
  2. Wenn die Pakete vor der Installation Skripts oder Befehle enthalten, werden sie als nächstes ausgeführt.
  3. Dann extrahiert das Paketsystem tatsächlich die Dateien des Pakets.
  4. Wenn die Dateien vorhanden sind, werden nach der Installation Skripts ausgeführt.
  5. Schließlich wird das Paket mithilfe seiner Metadaten bei der internen Datenbank registriert, sodass es später deinstalliert werden kann.

Zu wissen, wie Software installiert wird, ist eine gute Sache

Da Entwickler von Betriebssystemen und die Software, die darauf läuft, die Software-Installation sehr einfach macht, müssen Sie nicht wirklich auf die Details achten. Aber wenn Sie wissen, dass dies hinter den Kulissen geschieht, können Sie beruhigt sein, was auf Ihrem System installiert ist, und auch bei der Fehlerbehebung helfen.

Wie viele der oben genannten Softwareinstallationsmethoden haben Sie durchgeführt? Bevorzugen Sie DEB oder RPM? Oder stellen Macs APP-Pakete den Höhepunkt der Benutzerfreundlichkeit dar? Hatten Sie jemals eine Albtraum-Installation? Lass es uns in den Kommentaren wissen!

In this article