Werbung
Moderne Betriebssysteme bieten Ihnen einfache Methoden zum Einrichten neuer Anwendungen. Dazu gehören automatisierte Installationspakete sowie Befehle, die viele Softwarekomponenten gleichzeitig installieren. Aber was passiert eigentlich, wenn Sie dieses Installationsprogramm ausführen oder diesen Befehl ausführen?
Sehen wir uns an, 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. Dazu gehören in der Reihenfolge steigender Komplexität:
- Software-Kompilierung — Erstellen der Anwendung aus ihrem Quellcode. Nur für die technischsten Benutzer.
- Software-Archive — Entpacken von Archiven wie ZIP-Dateien und Ausführen des Programms von überall dort, wo Sie es extrahiert haben. Dies kann einige zusätzliche Anpassungen erfordern.
- Installationspakete — Suchen einer Installationsdatei und (Doppel-)Klicken, um die Installation zu starten.
- Software-Manager/-Stores — Wählen Sie die App von einer schönen Oberfläche aus und klicken Sie auf eine große Schaltfläche „Installieren“. Es ist Magie!
In diesem Artikel werden wir die Installationspakete untersuchen, da die meisten Software-Manager/Stores letztendlich sowieso hinter den Kulissen mit solchen Paketen umgehen. Für die wichtigsten Desktop-Plattformen von heute – Windows, macOS und Linux – werden wir uns ansehen, was eines dieser Pakete ausmacht und was passiert, wenn Sie sie installieren.
Microsoft Windows
Die Installationspakete, auf die Sie wahrscheinlich für Windows stoßen, gibt es in einer von zwei Hauptvarianten. Ausführbare Dateien (EXE) können Ihr Programm einrichten, indem Sie die Dateien am richtigen Ort ablegen und Windows-Registrierungsaktualisierungen durchführen. Hinzu kommen Windows Installer-Pakete (MSI), die standardisierte Dienste wie Deinstallationen bereitstellen.
Sie können den Inhalt von EXEs oder MSIs überprüfen, indem Sie Öffnen des Archivs mit 7-Zip 7Zip: Ein kostenloses Programm zum Entpacken ungewöhnlicher Archivformate Weiterlesen . Wenn Sie es verwenden, um sich das eigene EXE-Installationsprogramm von 7-Zip anzusehen, finden Sie eine Reihe verschiedener Dateien darin:
Während diese Dateien keinen Ordner innerhalb des Installationsprogramms haben, hat der Entwickler jede auf ein Zielverzeichnis verwiesen. Die meisten von ihnen landen im „Standardinstallationsort“ – derselbe Vorschlag, den Sie normalerweise für einen Ordner wie „C:\Programme\[Programmname]“ oder „C:\Programme (x86)\[Ihre neue App .“ sehen ].“
Bei Verwendung eines ausgeklügelten Tools wie InstallShield zum Erstellen von Installationspaketen können App-Entwickler die Installation anpassen. Sie können beispielsweise festlegen, auf welchen Windows-Versionen es installiert wird, Verknüpfungen einrichten im Startmenü und/oder auf dem Desktop zu erstellen oder Benutzerinformationen wie Name, Adresse, usw. Das InstallShield-Beispielprojekt in der Abbildung unten zeigt den Bildschirm zum Festlegen, ob Windows-Registrierungsschlüssel erstellt oder aktualisiert werden sollen.
Mit InstallShield werden die App-Dateien und andere Anpassungen in einem Paket zusammengefasst setup.exe Datei. Das Öffnen mit 7-Zip zeigt, dass sich darin ein MSI-Paket befindet, das beim Ausführen genauso aussieht wie die Installation, an die wir alle gewöhnt sind. Sehen wir uns an, was während dieses Prozesses passiert.
Windows-Installationsprozess
Ein Installationsprogramm führt die folgenden Schritte aus, um Ihre App für die Verwendung einzurichten (die genaue Reihenfolge kann je nach den Anpassungen des Entwicklers variieren):
- Ein Installationsprogramm kann andere Archive enthalten, wie das oben erwähnte MSI oder Formate wie CAB. Als ersten Schritt extrahiert das Installationsprogramm diese an einen temporären Speicherort.
- Als Nächstes wird überprüft, ob alle festgelegten Abhängigkeiten verfügbar sind. Wenn etwas fehlt, wird es wenn möglich heruntergeladen oder das Installationsprogramm mit einem Fehler beendet, wenn nicht.
- Wenn Abhängigkeiten erforderlich sind, werden sie zuerst mit dem Installationsprogramm installiert, mit dem sie geliefert werden (Hatte jemals eine Installation für .NET Framework unterbrochen? Microsoft .NET Framework: Warum Sie es brauchen und wie Sie es unter Windows installierenSie müssen es entweder installieren oder aktualisieren. Aber wissen Sie, was das .NET Framework ist? Wir zeigen Ihnen, warum Sie es brauchen und wie Sie die neueste Version erhalten. Weiterlesen ).
- Als nächstes beginnt das Installationsprogramm, die Dateien der App zu kopieren und an ihrem richtigen Ort abzulegen.
- Wenn der Entwickler Verknüpfungen konfiguriert hat, erstellt das Installationsprogramm diese und verweist sie auf den tatsächlichen Installationspfad (denken Sie daran, das kannst du ändern So erstellen Sie Windows-Desktop-Verknüpfungen auf einfache WeiseIntelligente Desktop-Verknüpfungen können Ihnen das gedankenlose Durchsuchen von Menüs und Ordnern ersparen. Wir zeigen Ihnen schnelle & einfache Möglichkeiten, diese zu erstellen. Weiterlesen wenn das Installationsprogramm ausgeführt wird).
- Änderungen an der Windows-Registrierung 3 Tools zum Überwachen und Untersuchen der Windows-RegistrierungDie Windows-Registrierung ist einer der am wenigsten verstandenen Teile des Windows-Betriebssystems. Wir zeigen Ihnen Tools, die die Registrierung vereinfachen und Ihnen helfen, Probleme zu identifizieren. Weiterlesen , falls vorhanden, wird ausgeführt.
- Schließlich kann das Installationsprogramm den Benutzer auffordern, Informationen wie Name oder Website-Adresse einzugeben.
Dieser Vorgang kann im Vergleich zum nächsten Betriebssystem auf der Liste komplex erscheinen. Werfen wir einen Blick auf die Installation von Software auf macOS.
Apple macOS
Windows-Installer haben viel zu tun unter der Haube. Wenn Sie jedoch 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 Befolgen Sie einige einfache Anweisungen So installieren und entfernen Sie die Mac-Software: 5 einfache MethodenSie sind auf einen Mac umgestiegen und haben sich mit den Grundlagen vertraut gemacht? Sie fragen sich, wie Sie Software über die Befehlszeile installieren können? Haben Sie alte Windows-Apps, die Sie einfach auf Ihrem Apple-Computer ausführen müssen? Weiterlesen . Manchmal bietet Ihnen der Download sogar ein „Hier ziehen!“ Symbol.
Lassen Sie uns in das APP-Bundle sowie in sein Gegenstück, den PKG-Installer, eintauchen.
macOS-Paketstruktur
Die APP-Datei auf der Oberfläche ist in der Tat einfacher als Windows aus zwei Hauptgründen. Erstens ist es ein Standardordner. Der einzige Unterschied besteht darin, dass es mit einem „.APP“-Suffix endet. Wenn Sie einen dieser Ordner unter Windows herunterladen, wird er wie jeder andere Dateiordner im Explorer angezeigt. Zweitens erfordern APP-Dateien, dass absolut alles enthalten ist, was das Programm benötigt. Bei diesen Installationstypen müssen Sie sich keine Sorgen machen, dass Abhängigkeiten fehlen.
Diese Bundles müssen drei Dinge in einem Ordner namens „Contents“ enthalten: 1) eine „Info.plist“-Datei, die Anwendungsmetadaten wie Name, Sprache, Versionsnummer usw. enthält; 2) ein „MacOS“-Verzeichnis, das die ausführbare Hauptdatei enthält; und 3) ein „Ressourcen“-Verzeichnis, das Assets enthält, die die Anwendung zum Funktionieren benötigt (z. B. ein Anwendungssymbol). Es gibt weitere optionale Ordner wie „Frameworks“ (Funktionsbündel, die nicht spezifisch für die App sind), „Plug-Ins“ (Funktionalität für die App, die nicht zum Ausführen benötigt wird) und „SharedSupport“ (fremde Daten wie Vorlagen).
Im Gegensatz dazu ist das PKG-Format eine Kombination aus einem Windows-ähnlichen Installer mit einer Unix-ähnlichen Struktur 3 UNIX-ähnliche Betriebssysteme, die kein Linux sindVor kurzem haben die Leute angefangen, "UNIX" mit "Linux" zu verwechseln. 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 öffnet auch eine PKG-Datei, die komprimiert ist in xar Format. Innerhalb ist einer oder mehrere Nutzlast Dateien, die auch ein Archiv ist. Um seinen Inhalt zu extrahieren, verwenden Sie die folgende Befehlskette (cpio ist ein Archivformat sowie ein Programm zu deren Manipulation) in einem Mac- oder Linux-Terminal:
Katze Nutzlast | gunzip -dc | cpio -i
Sobald Sie fertig sind, sehen Sie einen vertrauten Unix-ähnlichen Verzeichnisbaum.
Im folgenden Beispiel habe ich den Dokumentkonverter verwendet, Pandoc. Es enthält ein binäres in /usr/local/bin und einige Dokumentation in /usr/local/share/man. Wie kommen diese Dinge eigentlich zustande? Wir werden uns ansehen, wie jede dieser Funktionen tatsächlich auf Ihrem Mac installiert wird.
Ich habe die Windows-Version von 7-Zip verwendet, um dies zu veranschaulichen, und nicht die reine Kommandozeilen-Linux-Version.
macOS APP Installationsprozess
Wenn Sie diese APP-Datei in Ihrem Anwendungsordner ablegen, ändert sich nicht wirklich viel. Denken Sie daran, dass alles, was zum Ausführen des Programms erforderlich ist, in sich abgeschlossen ist. Der einzige Unterschied zu einem Standard-Drag-and-Drop besteht darin, dass die Datei „Info.plist“ beim System registriert wird.
Dadurch werden Dinge konfiguriert, z. B. welche ausführbare Datei beim Starten der App aufgerufen wird, welches Symbol angezeigt wird, welche Dateitypen unterstützt werden und mehr. Aber ansonsten ist Ihre App (wie das unten gezeigte APP-Paket für den Atom Editor) jetzt einsatzbereit.
macOS PKG-Installationsprozess
Das Öffnen einer PKG-Datei startet andererseits ein Installationsprogramm im Assistentenstil. Für einfache Programme ist dies typischerweise a Komponenteninstallationsprogramm, die normalerweise die folgenden Schritte durchläuft:
- Führen Sie die vorinstallieren Skript.
- Packen Sie den Inhalt der „Payload“ in das Gerät aus.
- Führen Sie die Nachinstallation Skript.
Entwickler können dann mehrere Komponenten zu einer einzigen kombinieren Produktarchiv Installieren. Dadurch werden Optionen wie das Anzeigen einer EULA für den Benutzer zum Akzeptieren, das Sammeln von Informationen vom Benutzer und das Auswählen der zu installierenden Komponenten hinzugefügt. Währenddessen kümmert sich der Apple Installer im Hintergrund um alle Details der Installation der erforderlichen Komponenten nacheinander.
Apropos Unix-basierte Installer, wir werden im nächsten Abschnitt zu den beiden führenden Linux-Paketformaten übergehen.
Ubuntu und Fedora-Linux
Ah, DEB gegenüber RPM So installieren Sie Software unter Linux: Paketformate erklärtSie sind auf Linux umgestiegen und möchten Software installieren. Paketmanager unterscheiden sich jedoch je nach Distribution. Welche Apps können Sie also herunterladen und installieren? Es steht alles in den Akronymen. Weiterlesen . Einer der großen Flammenkriege, der nur von Leuten wie besiegt wird vi gegen emacs oder KDE im Vergleich zu GNOME. Doch diese Formate sind sich ähnlicher als sie sich unterscheiden. Lass uns mal sehen.
Struktur der Linux-Paketdatei
Um einen Blick auf das Innere einer DEB-Datei zu werfen, können Sie einen GUI-Archivmanager ausprobieren. Verwenden Sie andernfalls die ar Befehl. Der folgende Befehl im Terminal eingegeben Über 40 am häufigsten verwendete Linux-TerminalbefehleEgal, ob Sie gerade erst anfangen oder einfach nur neugierig auf das Linux-Terminal sind, hier sind die gängigsten Befehle, die Sie durch Ihre gesamte Zeit unter Linux führen. Weiterlesen extrahiert den Inhalt eines Debian-Pakets:
ar -x Name-Ihres-Pakets.deb
Daraus entstehen drei Dateien:
- control.tar.gz — Diese enthält wiederum eine Primärdatei, Steuerung, das Metadaten zum Paket enthält, wie den offiziellen Namen, die Version und die Abhängigkeiten. Es kann auch andere Dateien enthalten, wie Skripte, die während des Installationsprozesses ausgeführt werden sollen, oder Standardkonfigurationsdateien.
- data.tar.gz — Die Dateien, aus denen die Anwendung selbst besteht, befinden sich in diesem TAR.GZ-Archiv. Alles, einschließlich Binärdateien, Dokumentation und Standardkonfigurationen, ist hier enthalten. Im Beispielpaket kde-service-menu-encfs_0.5.2_all.deb enthält es Dateien und Verzeichnisse, wie in der folgenden Abbildung gezeigt.
- debian-binär — Dies ist eine Datei, die definiert, welche Version des Debian-Paketformats die Datei verwendet. Bei modernen Distributionen enthält dies nur „2.0“ in einer einzigen Zeile.
In Fedora können Sie die rpm2cpio und cpio Befehle zum Extrahieren eines RPM-Pakets und Durchsuchen ihrer Dateien:
rpm2cpio Name-Ihres-Pakets.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 keine Metadaten, zumindest nicht in das binär Paket. Sie müssen den Quell-RPM (.SRC.RPM) herunterladen, der Ihrer Binärversion entspricht, und dann den gleichen Befehl oben für diese Datei verwenden. Darin enthalten ist eine SPEC-Datei, die viele der gleichen Elemente wie die Steuerung Datei in einem Debian-Paket.
Nachdem wir nun die Struktur von Linux-Paketen verstanden haben, lassen Sie uns Erkunden Sie, was passiert, wenn Sie sie tatsächlich installieren So installieren Sie Software unter Linux: Paketformate erklärtSie sind auf Linux umgestiegen und möchten Software installieren. Paketmanager unterscheiden sich jedoch je nach Distribution. Welche Apps können Sie also herunterladen und installieren? Es steht alles in den Akronymen. Weiterlesen .
Linux-Paketinstallation
Wenn Sie Pakete beider Formate installieren, geschieht unabhängig vom Front-End eine ähnliche Reihe von Schritten:
- Das Paketsystem untersucht den Inhalt des Pakets, um festzustellen, ob Abhängigkeiten fehlen. Je nach Tool werden Sie entweder gewarnt oder auf den Download eingestellt.
- Wenn die Pakete vorinstallierte Skripte oder Befehle enthalten, werden sie als nächstes ausgeführt.
- Dann extrahiert das Paketsystem tatsächlich die Dateien des Pakets.
- Wenn die Dateien vorhanden sind, werden die Skripts nach der Installation ausgeführt.
- Schließlich wird das Paket mit seinen 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 der darauf ablaufenden Software hervorragende Arbeit leisten, um die Softwareinstallation einfach zu machen, müssen Sie nicht wirklich auf die Details achten. Wenn Sie jedoch etwas darüber wissen, was hinter den Kulissen passiert, können Sie sich sicher sein, was auf Ihrem System installiert ist, und hilft Ihnen bei der Fehlerbehebung.
Wie viele der oben genannten Softwareinstallationsmethoden haben Sie bereits durchgeführt? Bevorzugen Sie DEB oder RPM? Oder stellen die APP-Bundles von Mac den Gipfel der Benutzerfreundlichkeit dar? Gab es schon einmal eine Albtrauminstallation? Lass es uns in den Kommentaren unten wissen!
Aaron ist seit fünfzehn Jahren als Business-Analyst und Projektmanager tief in der Technologie tätig und ist fast genauso lange ein treuer Ubuntu-Benutzer (seit dem Breezy Badger). Zu seinen Interessen gehören Open Source, Small Business Applications, die Integration von Linux und Android sowie Computing im Klartextmodus.