
Diese AntwortErläuterungen .msi
und setup.exe
Dateien zur Installation einer Anwendung unter Windows.
Gibt es Entsprechungen zu .msi
und zu setup.exe
Dateien in Debian oder Ubuntu? .deb
Entsprechen Paketdateien .msi
oder setup.exe
oder etwas anderem?
Antwort1
setup.exe
Ein 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 .deb
Paket installieren – die Datenbank ist während der Installation gesperrt, sodass dies nur über Abhängigkeiten erreicht werden kann. Die Installation eines .deb
Pakets erzeugt dann Einträge in einer zentralen Datenbank der installierten Pakete, um die Wartung zu erleichtern.
Das ttf-mscorefonts
Paket 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.exe
Das 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 .deb
seine 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.exe
wird 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 .deb
ist 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 .sh
Dateien, 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.exe
das 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.