Como os gerenciadores de pacotes e instalação de software funcionam no Linux

imagem

A instalação de software no Linux envolve gerenciadores de pacotes e repositórios de software, não o download e a execução de arquivos .exe de sites como no Windows. Se você é novo no Linux, isso pode parecer uma mudança dramática de cultura.

Embora você possa compilar e instalar tudo sozinho no Linux, os gerenciadores de pacotes são projetados para fazer todo o trabalho por você. Usar um gerenciador de pacotes torna a instalação e atualização do software mais fácil do que no Windows.

Linux vs. Windows

Há uma grande variedade de distribuições Linux e uma grande variedade de gerenciadores de pacotes. O Linux é construído a partir de software de código aberto, o que significa que cada distribuição do Linux compila seu próprio software com as versões de biblioteca e opções de compilação desejadas. Os aplicativos Compila Linux geralmente não são executados em todas as distribuições – mesmo que pudessem, a instalação seria prejudicada por formatos de pacote concorrentes. Se você localizar o site de um aplicativo Linux, provavelmente verá uma variedade de links de download para diferentes formatos de pacote e Linux distribuições – presumindo que o site do aplicativo forneça versões pré-compiladas. O aplicativo pode solicitar que você baixe o código-fonte e o compile você mesmo.

imagem

Repositórios de software

Os usuários do Linux normalmente não baixam e instalam aplicativos dos sites dos aplicativos, como os usuários do Windows fazem. Em vez disso, cada distribuição Linux hospeda seus próprios repositórios de software. Esses repositórios contêm pacotes de software especialmente compilados para cada distribuição e versão do Linux. Por exemplo, se você estiver usando o Ubuntu 12.04, os repositórios que você usa contêm pacotes especialmente compilados para o Ubuntu 12.04. Um usuário Fedora usa um repositório cheio de pacotes especialmente compilados para sua versão do Fedora.

Recomendado:  Como obter o atalho “Salvar como” de volta no macOS Mojave

imagem

Gestores de Pacotes

Pense em um gerenciador de pacotes como uma loja de aplicativos móveis – exceto que eles existiam muito antes das lojas de aplicativos. Diga ao gerenciador de pacotes para instalar o software e ele irá baixar automaticamente o pacote apropriado de seus repositórios de software configurados, instalá-lo e configurá-lo – tudo sem você ter que clicar em assistentes ou procurar arquivos .exe em sites. Quando uma atualização é lançada, seu gerenciador de pacotes avisa e baixa a atualização apropriada. Ao contrário do Windows, onde cada aplicativo deve ter seu próprio atualizador para receber atualizações automáticas, o gerenciador de pacotes lida com as atualizações de todos os softwares instalados – assumindo que foram instalados a partir dos repositórios de software.

imagem

O que é um pacote?

Ao contrário do Windows, onde os aplicativos vêm em arquivos de instalação .exe que podem fazer tudo o que quiserem com o sistema, o Linux usa formatos de pacote especiais. Há uma variedade de tipos de pacotes – mais notavelmente DEB no Debian e Ubuntu e RPM no Fedora, Red Hat e outros. Esses pacotes são essencialmente arquivos contendo uma lista de arquivos. O gerenciador de pacotes abre o arquivo e instala os arquivos no local especificado pelo pacote. O gerenciador de pacotes permanece ciente de quais arquivos pertencem a quais pacotes – quando você desinstala um pacote, o gerenciador de pacotes sabe exatamente quais arquivos no sistema pertencem a ele. O Windows não tem ideia de quais arquivos pertencem a um aplicativo instalado – ele permite que os instaladores do aplicativo gerenciem a instalação e a desinstalação por conta própria.

Os pacotes também podem conter scripts que são executados quando o pacote é instalado e removido, embora sejam geralmente usados ​​para configuração do sistema e não para mover arquivos para locais arbitrários.

Recomendado:  Como verificar a quantidade de armazenamento restante na Conta do Google

imagem

Instalando software no Linux

Para instalar o software no Linux, abra seu gerenciador de pacotes, procure o software e diga ao gerenciador de pacotes para instalá-lo. Seu gerenciador de pacotes fará o resto. As distribuições Linux geralmente oferecem uma variedade de interfaces para o gerenciador de pacotes. Por exemplo, no Ubuntu, o Ubuntu Software Center, o Update Manager, o aplicativo Synaptic e o comando apt-get usam apt-get e dpkg para baixar e instalar pacotes DEB. Você pode usar qualquer utilitário que desejar – eles apenas fornecem interfaces diferentes. Você geralmente encontrará um gerenciador de pacotes simples e gráfico nos menus de sua distribuição Linux.

imagem

Atrasos de atualização

Uma coisa que os novos usuários do Linux freqüentemente notam com gerenciadores de pacotes e repositórios é um atraso antes que novas versões de software cheguem a seus sistemas. Por exemplo, quando uma nova versão do Mozilla Firefox é lançada, os usuários do Windows e Mac irão adquiri-la do Mozilla. No Linux, sua distribuição Linux deve empacotar a nova versão e colocá-la como uma atualização. Se você abrir a janela de preferências do Firefox no Linux, notará que o Firefox não tem capacidade de se atualizar automaticamente (presumindo que você esteja usando a versão do Firefox dos repositórios de sua distribuição Linux).

imagem

Você também pode baixar e instalar o aplicativo – por exemplo, baixando o Firefox diretamente do Mozilla – mas isso pode exigir a compilação e instalação do software da fonte e remove os benefícios dos gerenciadores de pacotes, como atualizações de segurança automáticas e centralizadas.

Embora as novas versões do Firefox sejam uma prioridade porque contêm atualizações de segurança, outros aplicativos podem não ser entregues tão rapidamente. Por exemplo, uma nova versão principal do pacote de escritório do LibreOffice pode nunca ser lançada como uma atualização para a versão atual de sua distribuição Linux. Para evitar instabilidade potencial e dar tempo para testes, esta versão pode não estar disponível até o próximo lançamento principal de sua distribuição Linux – por exemplo, Ubuntu 12.10 – quando se torna a versão padrão nos repositórios de software da distribuição.

Recomendado:  Adicione espaços em branco ao dock do seu macOS para organizar melhor os aplicativos

Para corrigir esse problema, algumas distribuições do Linux, como Arch Linux, oferecem “ciclos de lançamento contínuo”, em que novas versões de software são inseridas nos repositórios principais de software. Isso pode causar problemas – embora você queira novas versões de aplicativos de desktop, provavelmente não se preocupa com as novas versões de utilitários de sistema de baixo nível, que podem introduzir instabilidade.

O Ubuntu oferece o repositório backports para trazer versões mais recentes de pacotes significativos para distribuições mais antigas, embora nem todas as novas versões o tornem no repositório backports.

Outros Repositórios

Embora as distribuições do Linux sejam enviadas com seus próprios repositórios pré-configurados, você também pode adicionar outros repositórios ao seu sistema. Depois de fazer isso, você pode instalar repositórios de software desse repositório e receber atualizações dele usando seu gerenciador de pacotes. O repositório adicionado deve ser projetado para sua distribuição Linux e gerenciador de pacotes.

Por exemplo, o Ubuntu oferece uma grande variedade de arquivos de pacotes pessoais (PPAs) , que contêm software compilado por indivíduos e equipes. O Ubuntu não garante a estabilidade ou segurança dos pacotes nesses repositórios, mas você pode adicionar PPAs de indivíduos confiáveis ​​para baixar pacotes que ainda não estão no repositório do Ubuntu – ou baixar versões mais novas de pacotes existentes.

Alguns aplicativos de terceiros também usam seus próprios repositórios de software. Por exemplo, quando você instala o Google Chrome no Ubuntu, ele adiciona seu próprio repositório apt ao seu sistema. Isso garante que você receba atualizações para o Google Chrome por meio do Gerenciador de atualização do Ubuntu e ferramentas de instalação de software padrão.

imagem