Propaganda
Os sistemas operacionais modernos fornecem métodos fáceis para configurar novos aplicativos. Isso inclui pacotes de instaladores automatizados, bem como comandos que instalam muitos bits de software de uma vez. Mas o que realmente acontece quando você executa esse instalador ou emite esse comando?
Vamos dar uma olhada em como o software é instalado nas três principais plataformas de desktop: Windows, macOS e Linux.
Métodos de instalação de software
Existem algumas maneiras diferentes de fazer com que novos aplicativos sejam executados em seu computador. Em ordem crescente de complexidade, incluem:
- Compilação de software - Construir o aplicativo a partir de seu código-fonte. Apenas para os usuários mais técnicos.
- Arquivos de software - Descompactar arquivos como arquivos ZIP e executar o programa de onde quer que você tenha extraído. Isso pode exigir alguns ajustes extras.
- Pacotes de instalação - Encontrar um arquivo do instalador e clicar (duas vezes) para iniciar a instalação.
- Gestores / lojas de software - Selecionar o aplicativo em uma interface agradável e clicar em um grande botão “Instalar”. É Magica!
Neste artigo, examinaremos os pacotes do instalador, já que a maioria dos gerenciadores / lojas de software lidam com esses tipos de pacotes nos bastidores de qualquer maneira. Para as principais plataformas de desktop de hoje - Windows, macOS e Linux - veremos o que constitui um desses pacotes e o que ocorre quando você os instala.
Microsoft Windows
Os pacotes do instalador que você provavelmente encontrará para o Windows vêm em um dos dois tipos principais. Arquivos executáveis (EXE) podem configurar seu programa fazendo o trabalho pesado de colocar os arquivos no local certo e realizando atualizações do Registro do Windows. Os pacotes do Windows Installer (MSI) aumentam isso fornecendo serviços padronizados, como desinstalações.
Você pode inspecionar o conteúdo de EXEs ou MSIs por abrindo o arquivo com 7-Zip 7Zip: um programa gratuito para descompactar formatos de arquivo incomuns consulte Mais informação . Se você usá-lo para ver o instalador EXE do próprio 7-Zip, encontrará vários arquivos diferentes em:
Embora esses arquivos não contenham uma pasta dentro do instalador, o desenvolvedor apontará cada um para 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 em quais versões do Windows serão instalados, definir atalhos a ser criado 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 na imagem abaixo mostra a tela para definir se as chaves do Registro do Windows devem ser criadas ou atualizadas.
Com o InstallShield, os arquivos do aplicativo e outras personalizações são agrupados em um setup.exe Arquivo. Abri-lo com o 7-Zip mostrará que dentro dele há um pacote MSI que, quando executado, se parece com a instalação a que estamos acostumados. Vamos revisar o que acontece durante esse processo.
Processo de instalação do Windows
Um instalador executará as seguintes etapas para configurar seu aplicativo para uso (a ordem precisa que pode variar dependendo das personalizações do desenvolvedor):
- Um instalador pode conter outros arquivos, como o MSI acima mencionado ou formatos como CAB. Como primeira etapa, o instalador os extrairá para um local temporário.
- Em seguida, ele verificará se todas as dependências definidas estão disponíveis. Se algo estiver faltando, ele fará o download, se possível, ou sairá do instalador com um erro, caso contrário.
- Se alguma dependência for necessária, ela será instalada primeiro usando o instalador que acompanha (já teve uma instalação interrompida do .NET Framework? Microsoft .NET Framework: por que você precisa e como instalá-lo no WindowsVocê precisa instalá-lo ou atualizá-lo. Mas você sabe o que é o .NET Framework? Mostramos por que você precisa dele e como pode obter a versão mais recente. consulte Mais informação ).
- Em seguida, o instalador começará a copiar os arquivos do aplicativo e colocá-los em seus locais corretos.
- Se o desenvolvedor configurou algum atalho, o instalador irá criar e apontar para o caminho de instalação real (lembre-se, você pode mudar isso Como criar atalhos da área de trabalho do Windows de maneira fácilOs atalhos inteligentes da área de trabalho podem evitar que você examine menus e pastas. Mostramos maneiras rápidas e fáceis de criá-los. consulte Mais informação quando o instalador é executado).
- Mudanças no registro do Windows 3 ferramentas para monitorar e examinar o registro do WindowsO registro do Windows é uma das partes mais mal compreendidas do sistema operacional Windows. Mostramos ferramentas que podem simplificar o registro e ajudá-lo a identificar problemas. consulte Mais informação , se houver, será executado.
- Por último, 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 na instalação de software no macOS.
Apple macOS
Os instaladores do Windows têm muita coisa acontecendo nos bastidores. Mas se você já usou um Mac, sabe que instalar um aplicativo geralmente é tão fácil quanto baixar uma cópia do aplicativo, abrir a imagem de disco (DMG) e seguindo algumas instruções fáceis Como instalar e remover software Mac: 5 métodos fáceisMudou para um Mac e está familiarizando-se com o básico? Quer saber como instalar o software a partir da linha de comando? Você tem aplicativos antigos do Windows que você simplesmente deve executar em seu computador Apple? consulte Mais informação . Às vezes, o download fornece até mesmo um "Arraste aqui!" ícone.
Vamos mergulhar no pacote APP, bem como em sua contraparte, o instalador PKG.
Estrutura do pacote macOS
O arquivo APP na superfície é na verdade, mais simples do 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 da mesma forma que qualquer outra pasta de arquivos no Explorer. Em segundo lugar, os arquivos do APP exigem que absolutamente tudo o que o programa requer esteja incluído. Não há preocupação com a falta de dependências com esses tipos de instaladores.
Esses pacotes devem conter três coisas 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 de "Recursos" que contém ativos de que o aplicativo precisa para funcionar (por exemplo, um ícone de aplicativo). Existem outras pastas opcionais, como "Frameworks" (pacotes de funcionalidade que não são específicos para o aplicativo), “Plug-Ins” (funcionalidade para o aplicativo que não é necessária para executá-lo) e “SharedSupport” (dados estranhos como modelos).
Em contraste, o formato PKG é uma combinação de um sistema semelhante ao do Windows instalador com uma estrutura semelhante ao Unix 3 sistemas operacionais semelhantes ao UNIX que não são LinuxRecentemente, 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 sistemas baseados em UNIX importantes que vale a pena conhecer. consulte Mais informação . O aplicativo 7-Zip também abrirá um arquivo PKG, que é compactado em xar formato. Dentro está um ou mais Carga útil arquivos, que também é um arquivo. Para extrair seu conteúdo, use a seguinte cadeia de comandos (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 isso, você verá uma árvore de diretórios semelhante ao Unix.
No exemplo abaixo, usei um conversor de documentos, Pandoc. Inclui um binário em /usr/local/bin e alguma documentação em /usr/local/share/man. Como essas coisas realmente acontecem? Veremos como cada um deles é realmente instalado no seu Mac.
Eu usei a versão Windows do 7-Zip para ilustrar isso, ao invés da versão Linux apenas de linha de comando.
Processo de instalação do macOS APP
Quando você solta esse arquivo APP em sua pasta de aplicativos, ele realmente não muda muito. Lembre-se de que tudo o que é necessário para executar o programa é independente. A única diferença de um arrastar e soltar padrão é que o arquivo “Info.plist” é registrado no sistema.
Isso irá configurar coisas como qual executável é chamado quando você inicia o aplicativo, qual ícone é exibido, tipos de arquivo que ele suporta e muito mais. Mas, caso contrário, seu aplicativo (como o pacote APP para o Atom Editor mostrado abaixo) agora está pronto para uso.
Processo de instalação do macOS PKG
Abrir um arquivo PKG, por outro lado, inicia um instalador “estilo assistente”. Para programas simples, é normalmente um instalador de componente, que normalmente passa pelas seguintes etapas:
- Execute o pré-instalar roteiro.
- Descompacte o conteúdo do “Payload” na máquina.
- Execute o pós-instalação roteiro.
Os desenvolvedores podem então combinar vários componentes em um único arquivo de produto instalar. 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 instalador da Apple cuida de todos os detalhes de instalação dos componentes necessários, um por um, em segundo plano.
Falando de instaladores baseados em Unix, passaremos para os dois formatos de pacote Linux principais na próxima seção.
Ubuntu e Fedora Linux
Ah, DEB versus RPM Como instalar o software no Linux: Explicação dos formatos de pacoteVocê mudou para o Linux e deseja instalar algum software. Mas os gerenciadores de pacotes variam 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 de fogo, superada apenas por gostos de vi contra emacs ou KDE versus GNOME. No entanto, esses formatos são mais semelhantes do que diferentes. Vamos dar uma olhada.
Estrutura do arquivo do pacote Linux
Para dar uma olhada no interior de um arquivo DEB, você pode tentar um gerenciador de arquivos GUI. Caso contrário, use o ar comando. O seguinte comando inserido no terminal Mais de 40 comandos de terminal Linux mais usadosEsteja você apenas começando ou simplesmente curioso sobre o terminal Linux, aqui estão os comandos mais comuns que o levarão por todo o tempo no Linux. consulte Mais informação irá extrair o conteúdo de um pacote Debian:
ar -x nome-do-seu-pacote.deb
Três arquivos sairão disso:
- control.tar.gz - Este, por sua vez, contém um arquivo principal, Ao controle, 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 constituem 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 conforme mostrado na imagem abaixo.
- binário debian - Este é um arquivo que define qual versão do formato do pacote Debian o arquivo está usando. Para distribuições modernas, conterá apenas “2.0” em uma única linha.
No Fedora, você pode usar o rpm2cpio e cpio comandos para extrair um pacote RPM e navegar em seus arquivos:
rpm2cpio nome-do-seu-pacote.rpm | cpio -idvm
Para o pacote kde-cli-tools-5.9.4-2.fc26.x86_64.rpm, você verá uma árvore de arquivos semelhante ao pacote DEB. Mas não fornece os metadados, pelo menos não em a binário pacote. Você precisará baixar o RPM de origem (.SRC.RPM) correspondente à sua versão binária e, em seguida, usar o mesmo comando acima nesse arquivo. Incluído nele estará um arquivo SPEC que contém muitos dos mesmos itens que o Ao controle arquivo em um pacote Debian.
Agora que entendemos a estrutura dos pacotes Linux, vamos explore o que acontece quando você realmente os instala Como instalar o software no Linux: Explicação dos formatos de pacoteVocê mudou para o Linux e deseja instalar algum software. Mas os gerenciadores de pacotes variam 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 semelhante de etapas acontece:
- O sistema de pacote examina o conteúdo do pacote para determinar se há dependências ausentes. Dependendo da ferramenta, ele irá avisá-lo ou configurá-lo para baixá-los.
- Se os pacotes contiverem scripts ou comandos de pré-instalação, eles serão executados em seguida.
- Em seguida, o sistema de pacotes realmente extrai os arquivos do pacote.
- Com os arquivos no lugar, os scripts de pós-instalação são executados.
- Por fim, o pacote é registrado no banco de dados interno usando seus metadados, para que possa ser desinstalado posteriormente.
Saber como o software é instalado é uma coisa boa
Como os desenvolvedores de sistemas operacionais e o software executado neles fazem um ótimo trabalho em facilitar a instalação do software, você realmente não precisa prestar atenção aos detalhes. Mas ter algum conhecimento sobre o que está acontecendo nos bastidores lhe dará um pouco de 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 de APP do Mac representam o auge da facilidade de uso? Já aconteceu uma instalação de pesadelo? Deixe-nos saber nos comentários abaixo!
Aaron está envolvido em tecnologia como analista de negócios e gerente de projeto há quinze anos, e é um usuário fiel do Ubuntu há quase o mesmo tempo (desde o Breezy Badger). Seus interesses incluem software livre, aplicativos para pequenas empresas, integração de Linux e Android e computação em modo de texto simples.