Entsprechungen zu „.msi“- und „setup.exe“-Dateien in Debian oder Ubuntu?

Entsprechungen zu „.msi“- und „setup.exe“-Dateien in Debian oder Ubuntu?

Diese AntwortErläuterungen .msiund setup.exeDateien zur Installation einer Anwendung unter Windows.

Gibt es Entsprechungen zu .msiund zu setup.exeDateien in Debian oder Ubuntu? .debEntsprechen Paketdateien .msioder setup.exeoder etwas anderem?

Antwort1

setup.exeEin Paket ähnelt wahrscheinlich eher einem MSI-Installationsprogramm als einem .deb. Es enthält einen Dateibaum, der in das Dateisystem kopiert werden soll, sowie eine Sammlung von Hooks, die vor und nach der Installation ausgeführt werden sollen (unter anderem). Die Hooks können praktisch alles auf dem System tun, darunter etwas, das ich unter Windows noch nie gesehen habe: das Hinzufügen von Benutzern für einen Systemdienst. Sie können jedoch kein anderes .debPaket installieren – die Datenbank ist während der Installation gesperrt, sodass dies nur über Abhängigkeiten erreicht werden kann. Die Installation eines .debPakets erzeugt dann Einträge in einer zentralen Datenbank der installierten Pakete, um die Wartung zu erleichtern.

Das ttf-mscorefontsPaket ist insofern interessant, als dass es selbst nur ein Skript zum Herunterladen und Installieren der Schriftarten enthält. Dieses Skript wird in einem dieser Hooks ausgeführt.

setup.exeDas Herunterladen des Quellcodes eines Programms von der Homepage des Projekts und anschließendes Ausführen von oder eine andere Methode, für die sich die Autoren entschieden haben, ist wahrscheinlich näher dran ./configure && make && sudo make install. Da das Paket bei dieser Methode nicht zur Datenbank der installierten Programme hinzugefügt wird, kann das spätere Entfernen wesentlich schwieriger sein.

Ein weiterer Unterschied besteht darin, dass a .debseine Abhängigkeiten angibt, sodass eine ordnungsgemäße Installation gewährleistet werden kann. Soweit ich weiß, kann in der Windows-Welt ein MSI nicht die Installation eines anderen MSI auslösen, daher setup.exewird es normalerweise für diese Art der Abhängigkeitsverfolgung verwendet. In mehreren Kommentaren wird darauf hingewiesen, dass MSIs Abhängigkeiten benennen können, aber da es keine zentrale Datenbank für MSIs wie für Pakete gibt .deb, führt das Fehlen einer Abhängigkeit einfach zu einem Installationsfehler.

Ein .debist also eine Art Mittelding zwischen einem MSI-Installer und einem setup.exe. Das Paket kann während der Hooks vor und nach der Installation tun, was es will, kann seine eigenen Abhängigkeiten benennen und normalerweise auch finden und hinterlässt zur einfacheren Wartung einen Datensatz seiner Installation an einem zentralen Ort.

Antwort2

Die Einzeldatei-Binärinstallationsprogramme, die ich unter Linux gesehen habe, waren .shDateien, die ein Shell-Skript enthielten, das mit einem Binär-Blob verknüpft war, etwa wie folgt:

#!/bin/bash
tmpdir=$(mktemp -d /tmp/installer.XXX)
tail -n +6 "$0" | tar -xJf - -C "$tmpdir" || exit 1
sudo "$tmpdir/setup.sh"
rm -rf "$tmpdir"
exit
[binary content follows]

Dies entspricht im Wesentlichen einem , setup.exedas sich ebenfalls selbst in einen temporären Ordner extrahiert und von dort aus das eigentliche Installationsprogramm ausführt.

Antwort3

Genommen von:https://askubuntu.com/questions/13415/what-are-run-files/13416#13416

Eine .run-Datei ist normalerweise ein maßgeschneidertes Programm, das ausgeführt werden muss, um ein Programm zu installieren. Diese werden im Allgemeinen nicht unterstützt, da sie nicht verfolgen, wohin Dateien gehen, und normalerweise keine Methode zur Deinstallation bereitstellen. Es gibt keine Möglichkeit, sicher zu sein, was das Skript mit Ihrem System macht, daher gelten sie als unsicher.

Sie ähneln der Windows-EXE-Datei und weisen daher dieselben Probleme auf.

verwandte Informationen