Como compilar e instalar programas a partir do código-fonte

Como compilar e instalar programas a partir do código-fonte

Este é um problema que realmente limita meu prazer com o Linux. Se o aplicativo não estiver em um repositório ou se não tiver um script de instalação, eu realmente tenho dificuldade em saber onde e como instalar um aplicativo a partir do código-fonte.

Comparativamente ao Windows, é fácil. Você (praticamente) é obrigado a usar um aplicativo instalador que faz todo o trabalho em um assistente. Com Linux... nem tanto.

Então, você tem alguma dica ou instrução sobre isso ou existe algum site que explique explicitamente como, por que e onde instalar programas Linux a partir da fonte?

Responder1

Normalmente, o projeto terá um site com instruções de como construí-lo e instalá-lo. Google para isso primeiro.

Na maior parte, você fará:

  1. Baixe um tarball (arquivo tar.gz ou tar.bz2), que é um lançamento de uma versão específica do código-fonte
  2. Extraia o tarball com um comando como tar zxvf myapp.tar.gzpara um tarball compactado ou tar jxvf myapp.tar.bz2para um tarball compactado
  3. cd no diretório criado acima
  4. correr./configure && make && sudo make install

Ou:

  1. Use git ou svn ou qualquer outro para extrair o código-fonte mais recente de seu repositório oficial
  2. cd no diretório criado acima
  3. correr./autogen.sh && make && sudo make install

Tanto configure quanto autogen.sh aceitarão um argumento --prefix para especificar onde o software está instalado. Eu recomendo conferirOnde devo colocar o software que eu mesmo compilo?para obter conselhos sobre o melhor local para instalar software personalizado.

Responder2

Eu só quero acrescentar que existem gerenciadores de pacotes que compilam pacotes a partir do código-fonte e lidam com todas as dependências de pacotes, sinalizadores, etc.

Nos sistemas BSD é ports:Usando a coleção de portas

No Debian, o apt-getgerenciador de pacotes também pode instalar a partir do código-fonte:APT HOWTO: Trabalhando com pacotes fonte(O mesmo vale para Ubuntu, Linux-mint e tudo mais baseado em Debian)

A distribuição Gentoo usa o portagegerenciador de pacotes, que compila todo o sistema apenas a partir do código-fonte:Introdução ao Portage.

O Slackware pode compilar pacotes mas não sei se existe algum gerenciador de pacotes para isso aí.. =)

De qualquer forma você sempre pode compilar pacotes manualmente como Sandy mencionou acima =) Também deve ser possível usar apt-getgerenciadores portagede pacotes em qualquer outra distro...

Responder3

Acho que é melhor ler a documentação que acompanha o programa ou aplicativo específico que você deseja instalar. Normalmente existem readmes/READMEs dentro dos tarballs (o arquivo fonte do aplicativo que você normalmente pode baixar) ou talvez até arquivos INSTALL para ler e aprender sobre qual é a forma preferida de instalar o referido aplicativo. Resumindo: RTFM ;)

Responder4

Recentemente comecei a usar o "Checkinstall" ao instalar a partir do código-fonte fora do meu gerenciador de pacotes. Ele cria um "pacote" a partir de um tarball de terceiros que pode então ser instalado e gerenciado (e desinstalado) através das ferramentas do gerenciador de pacotes.

Confira este artigo -http://www.linuxjournal.com/content/using-checkinstall-build-packages-source

informação relacionada