
esta respuestaexplica .msi
y setup.exe
archivos para instalar una aplicación en Windows.
¿Existen equivalentes a .msi
archivos setup.exe
en Debian o Ubuntu? ¿ .deb
Los archivos del paquete corresponden a .msi
o setup.exe
algo más?
Respuesta1
Probablemente más cercano a un instalador MSI que a 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 cualquier cosa de manera efectiva en el sistema, incluso algo que creo que nunca he 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 se bloquea durante la instalación, por lo que esto sólo se puede lograr mediante dependencias. Luego, la instalación de un .deb
paquete genera entradas en una base de datos central de paquetes instalados para facilitar el mantenimiento.
El ttf-mscorefonts
paquete es interesante porque contiene sólo un script para descargar e instalar las fuentes. Este script se ejecuta en uno de estos ganchos.
Lo más cercano setup.exe
podría ser descargar el código fuente de un programa desde la página de inicio del proyecto, luego ejecutarlo ./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 programas instalados, eliminarlo más tarde puede resultar 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 yo sé, en el mundo de Windows un MSI no puede provocar la instalación de otro MSI, por lo que setup.exe
normalmente se usa para este tipo de seguimiento de dependencias. Varios comentarios señalan que los MSI pueden nombrar dependencias, pero como no existe una base de datos central de MSI como la que existe para los .deb
paquetes, la falta de una dependencia solo provocará una falla en la instalación.
Por lo tanto, .deb
es una especie de intermedio entre un instalador MSI y un archivo setup.exe
. El paquete puede hacer lo que quiera durante sus enlaces 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.
Respuesta2
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:
#!/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]
Esto es esencialmente equivalente a un setup.exe
archivo que también se autoextrae en una carpeta temporal y ejecuta el instalador real desde allí.
Respuesta3
Tomado de:https://askubuntu.com/questions/13415/what-are-run-files/13416#13416
Un archivo .run es normalmente un programa personalizado que debe ejecutarse para poder instalar un programa. Por lo general, estos no son compatibles porque no rastrean dónde van los archivos y normalmente no proporcionan un método de desinstalación. no hay forma de estar seguro de qué hará el script en su sistema, por lo que se considera inseguro.
Están cerca del archivo exe de Windows y, como tales, tienen los mismos problemas.