Compilar ou usar pacote no linux?

O acesso ao código fonte do software e sua compilação, é uma das liberdades propiciadas pelo software livre. Entretanto, o software também pode ser obtido em forma executável (já compilada) e integrada ao sistema operacional (empacotado com instruções de instalação e desinstalação), ou seja, pronto para utilização.

Cada uma destas opções possui vantagens e desvantagens que serão enumeradas a seguir:

Características do software obtido na forma de executável (previamente compilado)

  • V: Instalação rápida que requer menos espaço em disco; evita a compilação do software, assim como, a instalação de software de compilação (make, gcc, etc) e cabeçalhos de bibliotecas (libc6-dev, etc);
  • V: Instalação automatizada de software e de bibliotecas necessárias (dependências) para o funcionamento do software principal.
  • V: Versão testada pelo distribuidor do software (em geral o distribuidor do sistema operacional), e possivelmente livre de erros.
  • V: Possibilita atualizações e correções de falhas de segurança de forma automática, e fornecida pelo distribuidor do sistema operacional.
  • V: Facilita suporte externo devido ao método de instalação padronizado e utilização de versões invariantes do software.
  • V/D: Pode não ser a versão mais nova do software, e não possuir funcionalidades mais recentes. Todavia, a utilização de versões maduras, tende a fornecer maior estabilidade.

Características do software obtido a partir do código fonte:

  • D: Instalação mais complexa e demorada, demanda instalação manual de bibliotecas externas.
  • D: Atualizações e correções são manuais, exigindo atenção diária às atualizações necessárias para correções de falhas de segurança.
  • D: Dificulta suporte externo pois não é um método de instalação padronizado.
  • V/D: Permite utilizar a última versão do software, com os novos recursos, mas trata-se de código menos testado podendo possuir falhas não detectadas.
  • V: Pode permitir um ganho de performace com a compilação com otimizações do processador, e também com o desligamento de recursos não utilizados do software.

Em ambientes corporativos a utilização de software fornecido por um distribuidor é essencial, é muito importante ter versões controladas, um método de instalação padronizado e, em especial, atualizados com as correções de segurança.

Diminui-se o esforço empregado para manter o sistema atualizado e livre de falhas. O Debian GNU/Linux possui uma equipe eficiente, que disponibiliza rapidamente correções para as falhas descobertas.