Equivalentes a arquivos '.msi' e 'setup.exe' no Debian ou no Ubuntu?

15

Esta resposta explica os arquivos .msi e setup.exe para instalar um aplicativo no Windows.

Existem equivalentes para .msi e setup.exe no Debian ou no Ubuntu? Do .deb package files correspondem a .msi ou setup.exe ou outra coisa?

    
por Tim 25.04.2017 / 06:19

3 respostas

28

Provavelmente mais próximo de um instalador MSI do que um setup.exe , um pacote .deb inclui uma árvore de arquivos para copiar no sistema de arquivos, bem como uma coleção de ganchos pré e pós-instalação para executar (entre outras coisas ). Os ganchos podem efetivamente fazer qualquer coisa no sistema, incluindo algo que eu acho que nunca vi no Windows: adicionar usuários para um serviço de sistema. Uma coisa que eles não podem fazer é instalar outro pacote .deb - o banco de dados é bloqueado durante a instalação, então isso só pode ser alcançado por meio de dependências. A instalação de um pacote .deb produz entradas em um banco de dados central de pacotes instalados para facilitar a manutenção.

O pacote ttf-mscorefonts é interessante porque o próprio pacote contém apenas um script para baixar e instalar as fontes. Este script é executado em um desses ganchos.

Mais perto de setup.exe pode estar baixando o código-fonte de um programa da página inicial do projeto, executando ./configure && make && sudo make install ou qualquer outro método que os autores decidam usar. Como esse método não adiciona o pacote ao banco de dados de programas instalados, removê-lo posteriormente pode ser muito mais difícil.

Outra diferença é que .deb especifica suas dependências, portanto, a instalação adequada pode ser garantida. Tanto quanto sei, no mundo do Windows, um MSI não pode causar a instalação de outro MSI, portanto setup.exe é normalmente usado para esse tipo de rastreamento de dependência. Vários comentários observam que os MSIs podem nomear dependências, mas como não há banco de dados central de MSIs como há para .deb packages, perder uma dependência causará uma falha na instalação.

Assim, um .deb é uma espécie de entre um instalador MSI e um setup.exe . O pacote pode fazer o que quiser durante seus ganchos de pré e pós-instalação, pode nomear e geralmente encontrar suas próprias dependências, e deixa um registro de sua instalação em um local central para facilitar a manutenção.

    
por 25.04.2017 / 07:14
15

Instaladores binários de arquivo único que vi no Linux eram .sh files que continham um shell script concatenado com um blob binário, 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]

Isso é essencialmente equivalente a um setup.exe que também se auto-extrai para uma pasta temporária e executa o instalador real a partir dali.

    
por 25.04.2017 / 17:55
6

Extraído de: link

A .run file is normally a custom made program which needs to be executed in order to install a program. these are not supported generally as they don't track where files go and don't normally provide an uninstall method. there is no way to be sure what the script will do to your system so they're considered unsafe.

They are close to the windows exe file and as such come with the same issues.

    
por 25.04.2017 / 08:55