É assim que os instaladores de software trabalham no Windows, macOS e Linux

Os sistemas operacionais modernos fornecem métodos fáceis para configurar novos aplicativos. Mas o que realmente acontece quando você executa esse instalador ou emite esse comando?

Os sistemas operacionais modernos fornecem métodos fáceis para configurar novos aplicativos.  Mas o que realmente acontece quando você executa esse instalador ou emite esse comando?
Propaganda

Os sistemas operacionais modernos fornecem métodos fáceis para configurar novos aplicativos. Estes incluem pacotes de instalação automatizados, bem como comandos que instalam muitos bits de software de uma só vez. Mas o que realmente acontece quando você executa esse instalador ou emite esse comando?

Vamos dar uma olhada em como o software é instalado em três principais plataformas de desktop: Windows, macOS e Linux.

Métodos de Instalação de Software

Existem algumas maneiras diferentes de obter novos aplicativos em execução no seu computador. Em ordem crescente de complexidade, estes incluem:

  • Compilação de software - Criando o aplicativo a partir do código-fonte. Somente para usuários mais técnicos.
  • Arquivos de software - Descompactar arquivos compactados, como arquivos ZIP, e executar o programa de onde quer que você os extraiu. Isso pode exigir alguns ajustes extras.
  • Pacotes do Instalador - Encontrando um arquivo do instalador e (duplo) clicando para iniciar a instalação.
  • Gerentes de Software / Lojas - Selecionando o aplicativo de uma interface agradável e clicando em um grande botão "Instalar". É Magica!

Neste artigo, examinaremos os Pacotes do Instalador, já que a maioria dos Gerenciadores de Software / Lojas basicamente lida com esses tipos de pacotes nos bastidores de qualquer maneira. Para as principais plataformas de desktop atuais - Windows, macOS e Linux - veremos o que compõe um desses pacotes e o que ocorre quando você os instala.

Microsoft Windows

Os pacotes de instalação que você provavelmente encontrará no Windows vêm em um dos dois tipos principais. Arquivos executáveis ​​(EXE) podem configurar seu programa fazendo o trabalho pesado de colocar arquivos no local correto e executar atualizações do Registro do Windows. Os pacotes do Windows Installer (MSI) complementam isso fornecendo serviços padronizados, como desinstalações.

Você pode inspecionar o conteúdo de EXEs ou MSIs abrindo o arquivo com 7-Zip 7Zip: Um programa gratuito para descompactar formatos de arquivos incomuns 7Zip: Um programa gratuito para descompactar formatos de arquivos incomuns Leia mais. Se você usá-lo para ver o instalador EXE do 7-Zip, você encontrará vários arquivos diferentes em:

pacote de software de anatomia 7zip contents

Embora esses arquivos não possuam pasta contida no instalador, o desenvolvedor terá apontado cada um deles em um diretório de destino. A maioria deles acaba no “local de instalação padrão” - a mesma sugestão que você normalmente vê para uma pasta como “C: \ Arquivos de Programas \ [nome do programa]” ou “C: \ Arquivos de Programas (x86) \ [seu novo aplicativo ].

Ao usar uma ferramenta sofisticada como o InstallShield para criar pacotes de instalação, os desenvolvedores de aplicativos podem personalizar a instalação. Por exemplo, eles podem designar quais versões do Windows serão instaladas, configurar atalhos para serem criados no Menu Iniciar e / ou na Área de Trabalho ou coletar informações do usuário, como nome, endereço, etc. O projeto InstallShield de amostra em A imagem abaixo mostra a tela para definir se as chaves de registro do Windows devem ser criadas ou atualizadas.

registro do installshield do pacote de software da anatomia

Com o InstallShield, os arquivos de aplicativos e outras personalizações são agrupados em um arquivo setup.exe . Abrindo com o 7-Zip mostrará que o interior é um pacote MSI que, quando executado, se parece com a instalação que estamos acostumados. Vamos rever o que acontece durante esse processo.

pacote de software de anatomia installshield instalar

Processo de Instalação do Windows

Um instalador executará as seguintes etapas para configurar seu aplicativo para uso (cuja ordem precisa pode variar dependendo das personalizações do desenvolvedor):

  1. Um instalador pode conter outros arquivos, como o MSI ou formatos como o CAB. Como primeiro passo, o instalador irá extraí-los para um local temporário.
  2. Em seguida, ele verificará se todas as dependências configuradas estão disponíveis. Se algo estiver faltando, ele será baixado, se possível, ou sairá do instalador com um erro, se não.
  3. Se forem necessárias dependências, elas serão instaladas primeiro usando o instalador fornecido (alguma vez houve uma instalação interrompida para o .NET Framework? Microsoft .NET Framework: por que você precisa e como instalá-lo no Windows Microsoft .NET Framework: Você precisa e como instalá-lo no Windows Você precisa instalá-lo ou atualizá-lo, mas você sabe o que é o .NET Framework? Mostramos por que você precisa e como obter a versão mais recente. Leia mais).
  4. Em seguida, o instalador começará a copiar os arquivos do aplicativo e colocá-los no local correto.
  5. Se o desenvolvedor configurou quaisquer atalhos, o instalador irá criar e apontá-los para o caminho da instalação real (lembre-se, você pode alterar isso Como criar atalhos da área de trabalho do Windows da maneira fácil Como criar atalhos da área de trabalho do Windows de maneira fácil peneiramento através de menus e pastas. Mostramos maneiras rápidas e fáceis de criá-los. Leia mais quando o instalador for executado).
  6. Alterações para o registro do Windows 3 Ferramentas para monitorar e examinar o registro do Windows 3 Ferramentas para monitorar e examinar o registro do Windows O registro do Windows é uma das partes mais mal compreendidas do sistema operacional Windows. Mostramos ferramentas que podem simplificar o registro e ajudar você a identificar problemas. Leia mais, se houver, será executado.
  7. Por fim, o instalador pode solicitar que o usuário insira informações como nome ou endereço do site.

Esse processo pode parecer complexo em comparação com o próximo sistema operacional da lista. Vamos dar uma olhada em instalar o software no macOS.

MacOS da Apple

Instaladores do Windows têm muita coisa acontecendo sob o capô. Mas se você já usou um Mac, sabe que instalar um aplicativo geralmente é tão fácil quanto fazer o download de uma cópia do aplicativo, abrir a imagem de disco (DMG) e seguir alguns prompts fáceis Como instalar e remover software do Mac: 5 Métodos fáceis Como instalar e remover software de Mac: 5 Métodos fáceis Mudou para um Mac e se familiarizou com o básico? Quer saber como instalar o software a partir da linha de comando? Tem aplicativos antigos do Windows que você simplesmente precisa executar no seu computador Apple? Consulte Mais informação . Às vezes, o download fornece até mesmo um ícone “Arraste aqui!”.

Vamos mergulhar no pacote APP e em seu equivalente no instalador PKG.

Estrutura do pacote macOS

O arquivo APP na superfície é, na verdade, mais simples que o Windows por duas razões principais. Em primeiro lugar, é uma pasta padrão. A única diferença é que termina com um sufixo “.APP”. Se você baixar um desses no Windows, verá que ele é exibido exatamente como qualquer outra pasta de arquivos no Explorer. Em segundo lugar, os arquivos APP exigem que absolutamente tudo o que o programa requer esteja incluído. Não há preocupação em perder dependências com esses tipos de instaladores.

Esses pacotes devem conter três itens em uma pasta chamada “Conteúdo”: 1) um arquivo “Info.plist” que contém metadados do aplicativo, como nome, idioma, número da versão, etc .; 2) um diretório “MacOS” que contém o executável principal; e 3) um diretório “Resources” que contém os recursos que o aplicativo precisa para funcionar (por exemplo, um ícone de aplicativo). Existem outras pastas opcionais, como “Frameworks” (pacotes de funcionalidades que não são específicos para o aplicativo), “Plug-Ins” (funcionalidade para o aplicativo que não é necessário para executá-lo) e “SharedSupport” (dados irrelevantes como modelos).

pastas de aplicativos do mac

Em contraste, o formato PKG é uma combinação de um instalador semelhante ao Windows com uma estrutura semelhante ao Unix 3 Sistemas Operacionais Semelhantes ao UNIX que não são Linux 3 Sistemas Operacionais Tipo UNIX que Não São Linux Recentemente, as pessoas começaram a confundir " UNIX "com" Linux ". O Linux foi influenciado pelo UNIX, mas os sistemas UNIX não têm relação com o Linux. Aqui estão alguns importantes sistemas baseados em UNIX que vale a pena conhecer. Consulte Mais informação . O aplicativo 7-Zip também abrirá um arquivo PKG, que é compactado no formato xar . Dentro há um ou mais arquivos Payload, que também é um arquivo. Para extrair seu conteúdo, use a seguinte cadeia de comandos (o cpio é um formato de arquivo bem como um programa para manipulá-los) em um terminal Mac ou Linux:

cat Payload | gunzip -dc | cpio -i 

Uma vez feito, você verá uma árvore de diretórios semelhante ao Unix.

No exemplo abaixo, usei o conversor de documentos, o Pandoc. Inclui um binário em / usr / local / bin e alguma documentação em / usr / local / share / man . Como essas coisas realmente se encaixam? Vamos dar uma olhada em como cada um deles realmente se instala no seu Mac.

estrutura mac pkg

Eu usei a versão do Windows do 7-Zip para ilustrar isso, em vez da versão de Linux apenas da linha de comando.

Processo de instalação do macOS APP

Quando você solta o arquivo APP na pasta Aplicativos, ele não muda muito. Lembre-se de que tudo que é necessário para executar o programa é autônomo. A única diferença de um arrastar e soltar padrão é que o arquivo “Info.plist” é registrado no sistema.

cópia do aplicativo mac

Isso configurará coisas como qual executável é chamado quando você inicia o aplicativo, qual ícone é exibido, tipos de arquivo suportados e muito mais. Caso contrário, seu aplicativo (como o pacote do APP para o Atom Editor mostrado abaixo) está pronto para ser usado.

aplicativo de mac instalado

Processo de Instalação do MacOS PKG

Abrir um arquivo PKG, por outro lado, inicia um instalador do tipo “assistente”. Para programas simples, isso geralmente é um instalador de componentes, que geralmente segue as seguintes etapas:

  1. Execute o script de pré-instalação .
  2. Desembale o conteúdo do "Payload" para a máquina.
  3. Execute o script postinstall .

instalação do mac pkg

Os desenvolvedores podem então combinar vários componentes em uma única instalação de arquivamento de produtos . Isso adiciona opções como exibir um EULA para o usuário aceitar, coletar informações do usuário e selecionar os componentes a serem instalados. Enquanto isso, o Apple Installer cuida de todos os detalhes da instalação dos componentes necessários, um a um, em segundo plano.

Falando de instaladores baseados em Unix, vamos passar para os dois principais formatos de pacotes Linux na próxima seção.

Ubuntu e Fedora Linux

Ah, DEB versus RPM Como instalar o software no Linux: Explicação dos formatos de pacote Como instalar o software no Linux: Explicação dos formatos de pacote Você mudou para o Linux e deseja instalar algum software. Mas os gerenciadores de pacotes diferem dependendo da sua distribuição. Então, quais aplicativos você pode baixar e instalar? Está tudo nas siglas. Consulte Mais informação . Uma das grandes guerras das chamas, superada apenas pelos gostos de vi versus emacs ou KDE versus GNOME. No entanto, esses formatos são mais semelhantes do que diferentes. Vamos dar uma olhada.

Estrutura de arquivos do pacote Linux

Para dar uma olhada no interior de um arquivo DEB, você pode tentar um gerenciador de arquivo da GUI. Caso contrário, use o comando ar . O comando a seguir inserido no terminal 40+ Comandos de terminal Linux mais usados ​​40+ Comandos de terminal Linux mais usados ​​Se você está apenas começando ou simplesmente curioso sobre o terminal Linux, aqui estão os comandos mais comuns que o levarão a todo o seu tempo no Linux. Read More irá extrair o conteúdo de um pacote Debian:

 ar -x name-of-your-package.deb 

Três arquivos sairão disso:

  • control.tar.gz - Este, por sua vez, contém um arquivo principal, Control, que contém metadados sobre o pacote, como nome oficial, versão e dependências. Ele também pode conter outros arquivos, como scripts a serem executados durante o processo de instalação ou arquivos de configuração padrão.
  • data.tar.gz - Os arquivos que compõem o próprio aplicativo estão neste arquivo TAR.GZ. Tudo, incluindo binários, documentação e configurações padrão estão aqui. No pacote de exemplo kde-service-menu-encfs_0.5.2_all.deb, ele contém arquivos e diretórios como mostrado na imagem abaixo.
  • debian-binary - Este é um arquivo que define qual versão do formato de pacote Debian o arquivo está usando. Para distribuições modernas, isso apenas conterá “2.0” em uma única linha.

deb main control

No Fedora, você pode usar os comandos rpm2cpio e cpio para extrair um pacote RPM e procurar seus arquivos:

 rpm2cpio name-of-your-package.rpm | cpio -idvm 

Para o pacote kde-cli-tools-5.9.4-2.fc26.x86_64.rpm, você verá uma árvore de arquivos similar ao pacote DEB. Mas ele não fornece os metadados, pelo menos não no pacote binário . Você precisará baixar o RPM de origem (.SRC.RPM) correspondente à sua versão binária e usar o mesmo comando acima nesse arquivo. Incluído nesse arquivo estará um arquivo SPEC que contém muitos dos mesmos itens que o arquivo Control em um pacote Debian.

Agora que temos uma compreensão da estrutura dos pacotes Linux, vamos explorar o que acontece quando você os instala de fato. Como instalar o software no Linux: Explicação dos formatos de pacote Como instalar o software no Linux: Explicação dos formatos de pacote Você mudou para o Linux e quer instalar algum software. Mas os gerenciadores de pacotes diferem dependendo da sua distribuição. Então, quais aplicativos você pode baixar e instalar? Está tudo nas siglas. Consulte Mais informação .

Instalação do Pacote Linux

Quando você instala pacotes de qualquer formato, independentemente do front-end, um conjunto similar de etapas acontece:

  1. O sistema de pacotes examina o conteúdo do pacote para determinar se há dependências ausentes. Dependendo da ferramenta, ela será avisada ou configurada para baixá-los.
  2. Se os pacotes contiverem scripts ou comandos de pré-instalação, eles serão executados a seguir.
  3. Então o sistema de pacotes realmente extrai os arquivos do pacote.
  4. Com os arquivos no lugar, os scripts de pós-instalação são executados.
  5. Por fim, o pacote é registrado no banco de dados interno usando seus metadados, para que possa ser desinstalado posteriormente.

Saber como o software está instalado é uma boa coisa

Como os desenvolvedores de sistemas operacionais e o software que os executa fazem um excelente trabalho ao facilitar a instalação do software, você não precisa prestar muita atenção nos detalhes. Mas ter algum conhecimento sobre o que está acontecendo nos bastidores lhe dará alguma tranquilidade sobre o que está sendo instalado em seu sistema, além de ajudar na solução de problemas.

Quantos dos métodos de instalação de software acima você fez? Você prefere DEB ou RPM? Ou os pacotes APP do Mac representam o auge da facilidade de uso? Já teve uma instalação de pesadelo acontecer? Deixe-nos saber nos comentários abaixo!

In this article