Esta respuesta explica .msi
y los setup.exe
archivos para instalar una aplicación en Windows.
¿Hay equivalentes a .msi
y para setup.exe
archivos en Debian o Ubuntu? ¿Los .deb
archivos del paquete corresponden a .msi
o setup.exe
o alguna otra cosa?
software-installation
deb
StackExchange para todos
fuente
fuente
.setup
archivos en Windows, ¿quiere decirsetup.exe
cuál es un nombre típico para un instalador?apt-get
página del manual y los documentos vinculados desde allí. No hay un equivalente en Windows incluso paraapt-get install
, y mucho menos esencialmente cualquiera de las otras cosas que puede hacer.apt-get
, pero las versiones recientes (Win7 y posteriores) de Powershell tienen aOneGet
través de las cuales puede instalarChocolatey
(un equivalenteHomebrew
en Mac). Pueden ser menos populares que sus equivalentes 'nix, pero decir que no hay un equivalente en Windows es descaradamente incorrecto..msi
archivos e instaladores le interesan? ¿Cuáles son los criterios precisos para determinar si algo es "equivalente" o no? Por ejemplo: los instaladores son solo programas como cualquier otro programa. No hay absolutamente nada especial en un programa llamadosetup.exe
. Dado quesetup.exe
es sólo un programa como cualquier otro programa, y Debian sin duda lo hace tener un concepto de "programa", ¿considera que equivale? ¿Si no, porque no?Respuestas:
Probablemente más cerca de un instalador MSI que de un
setup.exe
, un.deb
paquete incluye un árbol de archivos para copiar en el sistema de archivos, así como una colección de ganchos previos y posteriores a la instalación para ejecutar (entre otras cosas). Los ganchos pueden hacer efectivamente cualquier cosa en el sistema, incluido algo que no creo haber visto en Windows: agregar usuarios para un servicio del sistema. Una cosa que no pueden hacer es instalar otro.deb
paquete: la base de datos está bloqueada durante la instalación, por lo que esto solo se puede lograr a través de dependencias. La instalación de un.deb
paquete produce entradas en una base de datos central de paquetes instalados para facilitar el mantenimiento.El
ttf-mscorefonts
paquete es interesante porque el paquete en sí contiene solo un script para descargar e instalar las fuentes. Este script se ejecuta en uno de estos ganchos.Más cerca
setup.exe
podría estar descargando el código fuente de un programa desde la página de inicio del proyecto, luego ejecutándolo./configure && make && sudo make install
, o cualquier otro método que los autores decidieran usar. Dado que este método no agrega el paquete a la base de datos de los programas instalados, eliminarlo más tarde puede ser mucho más difícil.Otra diferencia es que a
.deb
especifica sus dependencias, por lo que se puede garantizar una instalación adecuada. Hasta donde sé, en el mundo de Windows, un MSI no puede causar la instalación de otro MSI, porsetup.exe
lo que generalmente se usa para este tipo de seguimiento de dependencias. Varios comentarios señalan que los MSI pueden nombrar dependencias, pero dado que no hay una base de datos central de MSI como la hay para los.deb
paquetes, la falta de una dependencia solo provocará una falla de instalación.Por lo tanto, a
.deb
es una especie de entre un instalador MSI y asetup.exe
. El paquete puede hacer lo que quiera durante sus ganchos previos y posteriores a la instalación, puede nombrar y generalmente encontrar sus propias dependencias, y deja un registro de su instalación en una ubicación central para facilitar el mantenimiento.fuente
setup.exe
instaladores de estilo también se integran en el sistema instalador rastreado (con desinstaladores, etc.). Tanto con MSI como con los.exe
instaladores, las dependencias se manejan incrustando la dependencia en el instalador ( por ejemplo, el instalador redistribuible de VC o el instalador de DirectX) e instalando archivos DLL de dependencia junto con el ejecutable (o como conjuntos de sistemas). Entoncessetup.exe
también es similar a.deb
. El equivalente a construir desde la fuente es construir desde la fuente en Windows también ;-).setup.exe
instaladores de estilo no son "rastreados" por el sistema operativo a menos que ejecuten MSI debajo (y luego los MSI son los rastreados). El hecho de que tengan una clave de registro de desinstalación no tiene relación con esto. Es como decir que cada archivo se rastrea porque está listado en el sistema de archivos.Los instaladores binarios de un solo archivo que he visto en Linux eran
.sh
archivos que contenían un script de shell concatenado con un blob binario, como este:Esto es esencialmente equivalente a un
setup.exe
que también se autoextrae a una carpeta temporal y ejecuta el instalador real desde allí.fuente
Tomado de: /ubuntu/13415/what-are-run-files/13416#13416
fuente