Pacotes binários versus fonte: qual você deve usar?

Usuários de Linux têm duas maneiras principais de instalar programas: use um pacote pré-compilado ou compile você mesmo. Normalmente, escolhemos um pacote, mas há momentos em que você deve considerar a construção a partir da origem.

Usuários de Linux têm duas maneiras principais de instalar programas: use um pacote pré-compilado ou compile você mesmo.  Normalmente, escolhemos um pacote, mas há momentos em que você deve considerar a construção a partir da origem.
Propaganda

Independentemente do gerenciador de pacotes Qual Gerenciador de Pacotes Linux (e Distro) é ideal para você? Qual Gerenciador de Pacotes Linux (e Distro) é ideal para você? Uma diferença fundamental entre as distribuições principais do Linux é o gerenciador de pacotes; as diferenças são fortes o suficiente para influenciar sua escolha de distro. Vamos ver como funcionam os vários gerenciadores de pacotes. Leia mais você está usando, você tem duas maneiras de instalar programas no Linux. Você usa um pacote pré-criado ou compila você mesmo. Atualmente, o primeiro geralmente vence por padrão. Há, no entanto, momentos em que você deve considerar a alternativa.

O que são pacotes binários?

Instalar programas no Linux geralmente é bem diferente de instalar no Windows. Ao invés de obter os instaladores fora do site de um fornecedor, os arquivos são recuperados de um repositório de programas, geralmente adaptados Como Personalizar o Ubuntu 16.04 LTS Desktop Como Personalizar o Ubuntu 16.04 LTS Desktop Doente do padrão do Ubuntu? Hora de personalizar o Ubuntu do jeito que você quer? Com a ferramenta Unity Tweak Tool e alguns comandos de terminal simples, você pode tornar sua Unity a sua! Leia mais para o seu sistema operacional.

Arquivos para programas separados são armazenados em um formato de arquivo Qual é o melhor método de compactação de arquivos? Testes MakeUseOf Zip, RAR e mais Qual é o melhor método de compactação de arquivos? Testes MakeUseOf Zip, RAR e mais A compactação de arquivos é uma tarefa importante e comum que os usuários frequentemente perguntam sobre seus computadores. Reduzir o tamanho de um arquivo facilita o envio de e-mails ou a colocação em uma unidade flash. Também reduz o uso de largura de banda e ... Leia Mais. Isso agrupa tudo em um único arquivo para facilitar o acesso mais tarde. Por exemplo, o Debian usa o formato DEB para armazenar seus programas. Esses pacotes são chamados de pacotes binários .

formato de pacote deb

A instalação requer um programa especial para extrair esses arquivos e colocá-los no seu computador. Isto é, o seu gerenciador de pacotes (por exemplo, APT, Yum e assim por diante). Ele também faz outras coisas úteis, como acompanhar quais arquivos você instalou e gerenciar atualizações de software.

De onde vêm os pacotes?

Todo o software é escrito em linhas de texto chamado código-fonte. Eles são escritos em linguagens de programação específicas 6 Linguagens de programação mais fáceis de aprender para iniciantes 6 Linguagens de programação mais fáceis de aprender para iniciantes Aprender a programar é sobre como encontrar a linguagem certa tanto quanto sobre o processo de edificação. Aqui estão as seis principais linguagens de programação mais fáceis para iniciantes. Leia mais, como C ou C ++. Geralmente, no entanto, você não pode simplesmente empacotá-lo em um arquivo e chamá-lo de pacote. Essas linhas precisam ser traduzidas em um idioma que seu computador possa entender e executar.

Este processo é chamado de compilar Como compilar e instalar arquivos TAR GZ & TAR BZ2 no Ubuntu Linux Como compilar e instalar arquivos TAR GZ & TAR BZ2 no Ubuntu Linux Leia mais, o resultado final criando binários que o seu computador pode executar. São esses binários que são armazenados juntos dentro de um pacote, juntamente com outras coisas, como arquivos de configuração O que são arquivos de configuração e como você pode editá-los? O que são arquivos de configuração e como você pode editá-los? A grande maioria dos aplicativos de software é configurada por meio de uma interface de menu, mas alguns exigem que você dê um passo adiante e realmente edite um arquivo de texto. Mas como esses "arquivos de configuração" funcionam? Consulte Mais informação .

O que está instalando “da fonte”?

Compilar o código fonte não é apenas para fazer pacotes. De fato, criar um arquivo desse tipo nem é necessário. Basicamente, instalar um programa “da origem” significa instalar algo sem usar um gerenciador de pacotes . Você compila o código-fonte e copia os binários para o seu computador.

Na maioria das vezes, você pode baixar o código-fonte de um projeto de serviços de hospedagem como o GitHub ou o BitBucket Love GitHub? 4 razões pelas quais você deve hospedar seu código no BitBucket Love GitHub? 4 razões pelas quais você deve hospedar seu código em BitBucket Você tem que pensar sobre onde você pretende armazenar seu código. É provável que você já tenha ouvido falar do GitHub. Isso não é surpreendente. O GitHub é usado por indivíduos e empresas para hospedar código, colaborar na documentação ... Leia Mais. Programas maiores podem até mesmo hospedá-lo em um site pessoal. O código geralmente será compactado em um formato de arquivo (também conhecido como pacote de código - fonte ).

árvore do pacote fonte

Um conjunto especial de ferramentas ajuda a automatizar o processo de construção. Em desktops Linux, isso geralmente vem na forma de uma linha de comando. Um guia rápido para começar com a linha de comando do Linux Um guia rápido para iniciar a linha de comando do Linux Você pode fazer muitas coisas incríveis com comandos no Linux e é realmente não é difícil de aprender. Leia mais programa chamado make . O código-fonte escrito em idiomas diferentes precisa de compiladores e comandos específicos para transformá-los em binários. O programa make automatiza Como agendar tarefas no Linux com Cron e Crontab Como agendar tarefas no Linux com Cron e Crontab A capacidade de automatizar tarefas é uma daquelas tecnologias futuristas que já estão aqui. Todo usuário do Linux pode se beneficiar do agendamento de tarefas do sistema e do usuário, graças ao cron, um serviço em segundo plano fácil de usar. Leia mais este processo.

makefile do emacs

Para fazer isso, os programas fornecem make com um makefile que informa o que fazer e compilar. Atualmente, geralmente é gerado automaticamente por um software especial, como o CMake. É aqui que o usuário entra. Porque a partir daqui, eles podem especificar exatamente quais recursos gostariam de compilar em seu próprio software.

Demonstração Rápida

Por exemplo, o comando abaixo gera um arquivo de configuração para o Calligra Office Suite Calligra vs. LibreOffice: Qual é o pacote Linux Office mais produtivo? Calligra vs. LibreOffice: Qual é o pacote de escritório Linux mais produtivo? Leia mais usando o CMake. O arquivo criado informa ao programa make para compilar somente o componente Writer do Calligra.

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra 

Feito isso, tudo o que uma pessoa precisa fazer é executar a ferramenta make para compilar e copiar os resultados em seu computador. Isso é feito da seguinte maneira:

 make make install 

Embora esse seja o padrão geral para compilar programas, há muitas outras maneiras de instalar pacotes de origem. Gentoo Linux Gentoo: uma distribuição Linux onde você compila seu próprio software otimizado Gentoo: uma distribuição Linux onde você compila seu próprio software otimizado O grande número de maneiras diferentes pelas quais o Linux pode ser executado é surpreendente, pois há muitas opções para se locomover . Embora existam muitas distribuições que dependem do .deb ... Read More, por exemplo, tem uma maneira integrada de lidar com isso, tornando o processo muito mais rápido e fácil. Junto com isso, a construção de pacotes binários leva mais alguns passos do que apenas os comandos acima.

Benefícios do uso de pacotes binários

Se você estiver usando o Linux, provavelmente os programas que você instalou foram pré-compilados. Atualmente, é muito mais comum do que usar pacotes de código-fonte. Existem algumas razões pelas quais esse é o caso.

Mais fácil de gerenciar

Pacotes binários contêm muito mais do que apenas arquivos de instalação compilados. Eles também armazenam informações que facilitam para o seu gerenciador de pacotes Seu Guia para Repositórios do Ubuntu e Gerenciamento de Pacotes Seu Guia para Repositórios do Ubuntu e Gerenciamento de Pacotes Leia mais para acompanhar todos os seus programas. Por exemplo, arquivos DEB (o formato de pacote para o Debian Debian: Desfrute de uma das distribuições Linux mais estáveis ​​e confiáveis ​​Debian: Desfrute de uma das distribuições Linux mais estáveis ​​e confiáveis ​​Há muitos usuários de Linux por aí que usam distribuições como o Ubuntu ou uma das muitas distribuições baseadas no Ubuntu, incluindo o Linux Mint. No entanto, não importa o que você esteja usando, ... Read More e Debian derivatives) também contém informações importantes como qual outro software o programa precisa executar, e sua versão atual.

formato de pacote deb

Isso torna os pacotes muito mais fáceis de instalar. Você não precisa se preocupar com os outros arquivos que precisa instalar para executar um programa, por exemplo. Como o gerenciador de pacotes pode ler essas informações do próprio pacote, ele lida com tudo isso automaticamente.

Compare isso com a instalação de programas da origem. A menos que você compile o código em um pacote binário próprio, você será responsável por gerenciar esse software. Você precisa ter em mente que outros programas você precisa para fazê-lo funcionar e instalá-los você mesmo.

Estabilidade Melhorada

Os repositórios de pacotes tendem a testar seus binários em busca de problemas e fazem o melhor para corrigi-los quando aparecem. Isso pode levar a uma melhor estabilidade dos programas, algo que uma pessoa que instalou da fonte pode perder.

Por exemplo, existem vários pacotes nos repositórios do Debian que possuem correções aplicadas a eles. Isso pode até mesmo incluir programas grandes, como navegadores da web. Você está usando o melhor navegador da Web para Linux em 2016? Você está usando o melhor navegador da Web para Linux em 2016? Usar o navegador "errado" pode levar a muitas dores de cabeça desnecessárias, produtividade desperdiçada e até dados perdidos. Então, qual navegador é o melhor para o seu computador Linux? Vamos descobrir. Consulte Mais informação !

patches do Debian

Junto com isso, os pacotes geralmente devem seguir um conjunto estrito de regras para ajudar a garantir que eles sejam executados em seu sistema. Tanto o Debian quanto o Ubuntu possuem um manual de políticas, por exemplo, assim como muitos outros sistemas operacionais Linux.

Alguns programas também dependem de diferentes versões da mesma dependência de software para serem executados. Os repositórios de pacotes fazem o melhor para resolver esses conflitos, para que você não precise se preocupar com isso.

Benefícios da compilação de pacotes de código-fonte

Instalar programas a partir do código-fonte não é algo que todos precisam fazer. Na verdade, é melhor se você ficar com os pacotes binários. Mesmo assim, ainda há algumas vantagens em usar essa maneira um pouco mais complexa de instalar programas.

Software mais recente

Uma desvantagem de tornar os programas mais confiáveis ​​é que leva tempo para melhorar e corrigir. Como resultado, isso pode levar você a usar versões mais antigas do software. Para pessoas que querem o melhor e mais recente 5 Sistemas Operacionais Linux que Oferecem Atualizações de Borda Sangrenta 5 Sistemas Operacionais Linux que Oferecem Atualizações de Borda Sangrenta Um sistema que está sempre melhorando e atualizando tem seus benefícios, por exemplo, ganhos de velocidade e segurança. Se você está pronto para experimentar o Linux, aqui estão alguns sistemas operacionais a serem considerados. Leia mais, eles podem até preferir um pouco de instabilidade em troca disso.

Embora existam sistemas operacionais Linux que atendem a essa necessidade sem compilar os programas, eles apresentam algumas desvantagens. Por exemplo, softwares que não lançam versões de pacotes com frequência são mais difíceis de manter atualizados Por que você deve sempre manter sua instalação do Ubuntu atualizada [Linux] Por que você deve sempre manter sua instalação do Ubuntu atualizada [Linux] Leia mais em um repositório, do que instalar a partir da fonte.

Isso ocorre porque os pacotes binários geralmente são feitos a partir de versões oficiais de programas. Como tal, as mudanças entre essas versões geralmente não são levadas em consideração. Ao compilar seu próprio software a partir da fonte, você pode se beneficiar imediatamente dessas alterações.

Também é possível que o seu sistema operacional Linux não tenha o software que você quer pré-fabricado para você. Se for esse o caso, instalá-lo a partir da fonte é sua única opção.

Escolha e escolha

Outro benefício para usar pacotes de código-fonte é que você ganha mais controle sobre os programas que você instala. Ao instalar a partir de um repositório binário, você está restrito nas maneiras de personalizar seus pacotes.

Por exemplo, olhe para FFmpeg, o conversor de áudio e vídeo baseado em linha de comando 10 ótimos aplicativos para converter arquivos de áudio e vídeo no Linux 10 ótimos aplicativos para converter arquivos de áudio e vídeo no Linux Leia mais. Por padrão, ele vem com um grande número de recursos, alguns dos quais você pode nunca tocar. Por exemplo, o suporte a áudio JACK está disponível no FFmpeg, embora este software seja normalmente usado em ambientes de produção. 6 Distribuições Linux projetadas para artistas, músicos e editores 6 Distribuições Linux projetadas para artistas, músicos e editores Leia mais somente.

recursos do ffmpeg

A compilação do FFmpeg permite remover as coisas que você não quer, deixando-as mais leves e adaptadas às suas necessidades. E o mesmo se aplica a outros programas pesados.

Quando os recursos são escassos, a remoção de recursos pode ser uma ótima maneira de aliviar a carga. Não é de admirar que o Chrome OS Desafio do Chrome OS: um novo dia de usuário em um Chromebook Desafio do Chrome OS: um novo dia de usuário em um Chromebook O que os Chromebooks gostam de alguém que está acostumado com uma configuração do Windows ou Mac? Como novato no Chrome OS, estou aqui para lhe contar. Read More, encontrado em muitos computadores de baixo custo, é baseado no Gentoo Linux. O Gentoo, sendo baseado em fontes, compila muitos de seus softwares, potencialmente tornando esses sistemas muito mais leves.

Por que não instalar com os dois?

Embora você provavelmente não deseje compilar pacotes diariamente, é útil ter em mente. Se você não encontrar seus repositórios de software suficientemente bons, lembre-se de que existe outra forma antiga de fazer com que as coisas sejam instaladas.

Você já teve que compilar software antes? Por quê?

Crédito de imagem: Andrii Symonenko via Shutterstock.com

In this article