Cette réponse explique .msi
et setup.exe
répertorie les fichiers d'installation d'une application sous Windows.
Existe-t-il des équivalents .msi
et des setup.exe
fichiers dans Debian ou Ubuntu? Les .deb
fichiers de package correspondent-ils à .msi
ou setup.exe
ou à autre chose?
software-installation
deb
StackExchange pour tous
la source
la source
.setup
fichiers sous Windows, voulez-vous diresetup.exe
quel est le nom typique d'un programme d'installation?apt-get
page de manuel et les documents liés à partir de là. Il n'y a même pas d'équivalent sous Windowsapt-get install
, et encore moins essentiellement toutes les autres choses qu'il peut faire.apt-get
, mais les versions récentes (Win7 et supérieures) de PowershellOneGet
vous permettent d'installerChocolatey
(un équivalent àHomebrew
sur Mac). Ils sont peut-être moins populaires que leurs équivalents 'nix, mais dire qu'il n'y a pas d'équivalent sur Windows est manifestement incorrect..msi
fichiers et des installateurs qui vous intéressent? Quels sont les critères précis pour déterminer si quelque chose est "équivalent" ou non? Par exemple: les installateurs ne sont que des programmes comme n'importe quel autre programme. Il n'y a absolument rien de spécial dans un programme nommésetup.exe
. Depuissetup.exe
est juste un programme comme tout autre programme, et Debian certainement fait un concept de « programme », considérez-vous que l' équivalent? Sinon, pourquoi pas?Réponses:
Probablement plus proche d'un programme d'installation MSI que d'un
setup.exe
, un.deb
package comprend une arborescence de fichiers à copier dans le système de fichiers, ainsi qu'une collection de hooks avant et après l'installation à exécuter (entre autres). Les hooks peuvent effectivement faire n'importe quoi sur le système, y compris quelque chose que je ne pense pas avoir vu sur Windows: ajouter des utilisateurs pour un service système. Une chose qu'ils ne peuvent pas faire est d'installer un autre.deb
paquet - la base de données est verrouillée pendant l'installation, donc cela ne peut être réalisé que par le biais de dépendances. L'installation d'un.deb
package produit ensuite des entrées dans une base de données centrale des packages installés pour faciliter la maintenance.Le
ttf-mscorefonts
package est intéressant en ce que le package lui-même ne contient qu'un script pour télécharger et installer les polices. Ce script est exécuté dans l'un de ces crochets.Plus près de
setup.exe
cela, le téléchargement du code source d'un programme à partir de la page d'accueil du projet, puis son exécution./configure && make && sudo make install
, ou toute autre méthode que les auteurs ont décidé d'utiliser. Étant donné que cette méthode n'ajoute pas le package à la base de données des programmes installés, sa suppression ultérieure peut être beaucoup plus difficile.Une autre différence est que a
.deb
spécifie ses dépendances, de sorte qu'une installation correcte peut être garantie. Pour autant que je sache, dans le monde Windows, un MSI ne peut pas provoquer l'installation d'un autre MSI, ilsetup.exe
est donc généralement utilisé pour ce type de suivi des dépendances. Plusieurs commentaires notent que les MSI peuvent nommer des dépendances, mais comme il n'y a pas de base de données centrale de MSI comme il en existe pour les.deb
packages, le fait de manquer une dépendance entraînera un échec de l'installation.Ainsi, un
.deb
est en quelque sorte entre un programme d'installation MSI et unsetup.exe
. Le package peut faire tout ce qu'il veut pendant ses hooks avant et après l'installation, peut nommer et trouver généralement ses propres dépendances, et laisse un enregistrement de son installation dans un emplacement central pour faciliter la maintenance.la source
setup.exe
installation de style s'intègrent également au système d'installation suivi (avec les programmes de désinstallation, etc.). Avec MSI et les programmes d'.exe
installation, les dépendances sont gérées en incorporant la dépendance dans le programme d'installation ( par exemple, le programme d'installation redistribuable VC ou le programme d'installation DirectX) et en installant des DLL de dépendance à côté de l'exécutable (ou en tant qu'assemblys système). Il ensetup.exe
va de même pour.deb
. L'équivalent de la construction à partir de la source est également la construction à partir de la source sous Windows ;-).setup.exe
installateurs de style ne sont en aucun cas "suivis" par le système d'exploitation à moins qu'ils exécutent des MSI en dessous (puis les MSI sont ceux suivis). Le fait qu'ils disposent d'une clé de registre de désinstallation n'a aucun rapport avec cela. Cela revient à dire que chaque fichier est suivi car il est répertorié dans le système de fichiers.Les programmes d'installation binaires à fichier unique que j'ai vus sur Linux étaient des
.sh
fichiers qui contenaient un script shell concaténé avec un blob binaire, comme ceci:Ceci est essentiellement équivalent à celui
setup.exe
qui s'auto-extrait également dans un dossier temporaire et exécute le véritable programme d'installation à partir de là.la source
Tiré de: /ubuntu/13415/what-are-run-files/13416#13416
la source