Esta sem dúvida é uma das dúvidas mais comuns dentre usuários novatos no Linux. Se você sempre quis saber como instalar programas (principalmente aqueles .tar.gz e .tar.bz2), e quando pergunta num forum o pessoal manda você olhar no Google, leia este texto que lhe será muito útil.
Instalar programas no Linux sem dúvida é a tarefa mais difícil a se aprender do ponto de vista do deskstop, seja ele corporativo ou pessoal. Na verdade, instalar programas no Linux é muito fácil, contando que tenhamos o pacote certo para nossa distribuição (mas nem sempre dispomos de tal). Você ja deve ter ouvido falar muito na palavra “pacote”. Pois bem, no Linux chamamos de pacote um arquivo que contêm um programa, um conjunto de bibliotecas ou mesmo alguns arquivos compactados. Quando vamos instalar um programa no Linux, primeiro devemos seguir os passos a seguir:
1 - Procurar por um pacote já compilado específico para nossa distribuição.
Este passo significa tentar localizar o programa já prontinho para uso. Verifique qual o formato de empacotamento que sua distribuição usa (rpm, deb, tgz, etc). Primeiramente tentamos achar o pacote nos sistemas de instalação automatizada de sua própria distribuição (apt-get, yast, yum, etc). Se não encontrarmos, devemos então partir em busca do pacote pela internet. Ao encontrar o pacote, devemos nos atentar para qual versão do Linux ele se destina e qual distribuição. Geralmente você pode saber isso pelo próprio nome do arquivo. Por exemplo: um pacote rpm para fedora core 3, geralmente tem “FC3″ no nome. Pesquise pela descrição, e se não encontrar o programa para a versão exata de sua distribuição, tente a mais próxima (um pacote do conectiva 9 tem muito mais chance de dar certo no conectiva 10 do que um do suse, por exemplo). Se você está atraz do jogo “foobillard” para “fedora 4″, por exemplo, tente buscar no google pelos termos “foobillard fedora 4 rpm”.
2 - Tentar localizar um pacote binário instalável
Alguns programas possuem instaladores e já vem compilados de tal forma que rodem em praticamente qualquer distribuição. Um exemplo disso é o Firefox que possui um instalador gráfico inclusive. Esse tipo de pacote geralmente vem com extensões “.bin” ou “.run”. Para instalar um programa destes, basta executá-lo por um terminal como administrador. Para isso utilize: “sh programa.run”. Caso não funcione, adicione permissão para execução (chmod +x programa.run) e em seguida execute “./programa.run”.
3 - Procure um pacote “.package”
Existe um formato automatizado de instalação que se chama “auto package”. Geralmente os programas que o utilizam também podem ser encontrados em outros tipo de pacotes (rpm, deb, etc), mas nem sempre na última versão. Esta é uma ótima alternativa a sistemas com pacotes obsoletos. Você pode procurar por pacotes “.package” no site oficial que está aqui. Para se instalar um pacote “.package” o procedimento é semelhante ao dos pacotes “.run” ou “.bin”. Basta executá-los que todo o processo será automatizado.
4 - Pegar o código fonte (pacotes “.tar.gz” e “.tar.bz2″)
Em último caso você deve pegar os pacotes do código fonte (a menos que você realmente queira compilar o programa para otimizá-lo para sua máquina). Os pacotes “source” (estes que vêm o código fonte) são bem mais complicados de se instalar que os outros. Basicamente você não baixará o programa, mas apenas seus códigos assim como os programadores o criaram. Você deve então transformá-los em binários (executáveis que só o computador entende) para então executá-los. Este processo se chama “compilação”. Não é nenhum bixo de 7 cabeças, mas para quem está acostumado com a tecnologia “NNF” (Next, Next, Finish) pode se tornar um processo um tanto quanto cansativo, porém para alguns é quase que uma terapia ^_^.
Primeiramente devemos nos certificar se possuimos os compiladores básicos instalados e demais ferramentas necessárias para o processo. Para programas escritos em “C”, os pacotes são: make, binutils, gcc, ncurses, ncurses-devel, cpp e tk. Possivelmente você também pode precisar do dialog, kernel-source, kernel-headers e diversos outros pacotes de desenvolvimento de bibliotecas. Algumas distribuições facilitam a instalação destes pacotes de compilação através de um “meta-pacote” (um pacote “falso” que traz todos os outros como dependência). No Conectiva, por exemplo, este pacote se chama “task-c-compiling” e no Ubuntu “build-essential”. Com estes pacotes básicos instalados vamos para o próximo passo.
A arte de compilar e instalar pacotes, em 90% dos casos, está em ler a documentação. Se você conseguiu me aguentar até aqui neste artigo, provavelmente não terá problemas quanto a isso, mas para os preguiçosos de plantão, estes sim irão quebrar a cabeça e dizer que Linux é difícil… rs. Ao extrair o pacote source, você provavelmente encontrará um arquivo “README” e um arquivo “INSTALL”. O arquivo readme geralmente traz algumas notas do programa e o arquivo install traz instruções de instalação. Lá você ficará sabendo o que instalar antes de compilar seu pacote. Estes pacotes adicionais que devemos instalar são chamados de “dependências”. Preste muita atenção para o seguinte detalhe: Quando vamos compilar algo, precisamos dos pacotes de desenvolvimento de cada dependência. Eles geralmente possuem uma terminação diferenciada como “-dev” ou “-devel”. Você pode instalar a maioria deles pela ferramenta automatizada de instalação da sua distribuição. Se no arquivo install diz que é preciso ter a biblioteca “libsdl” não basta instalar apenas este pacote, mas também o “libsdl-dev” que contém os arquivos de desenvolvimento da biblioteca. Este é o grande “pulo do gato” se é que existe um.
Bem, vamos agora executar o script “configure” que está na maioria dos pacotes a serem compilados da internet. Para isso abrimos um terminal, vamos através dele até o diretório onde estão os arquivos descompactados e o executamos da seguinte forma:
./configure
Este script irá checar se seu computador atende às necessidades mínimas para se compilar o programa. É muito provável que ele não chegue no final de uma vez, mas pare no meio reclamando com algum erro mas fique calmo! Preste atenção nesse erro, pois geralmente ele já lhe indica a solução. Se ele disser por exemplo que não encontrou determinada biblioteca, pode ser que ela não esteja instalada ou então você se esqueceu do pacote de desenvolvimento dela (lembra dos “-dev”?). Instale a dependência e execute novamente o script configure. Se ele parar em outro arquivo, vá atraz da dependência e assim até ele executar tudo sem dar nenhum erro. Ao final ele cria o arquivo Makefile e alguns arquivos de configuração. De posse do Makefile e com tudo configurado corretamente é hora de compilar. Use o seguinte comando:
make
Este processo geralmente demora muito, então aproveite para tomar uma água, ir ao banheiro ou as duas coisas, não necessariamente nesta ordem. Dependendo do programa o processo pode levar horas, e dependendo pode levar segundos. Se algum erro aparecer nesta parte do processo, recomendo que você coloque as mensagens de erro em um forum de Linux especializado, pois as mensagens de saída do compilador não são tão fáceis de se decifrar quanto as do script de configuração. Se tudo correr bem, após algum tempo o compilador termina o trabalho sem erros. Pronto agora você já possui o programa compilado. Geralmente você pode executá-lo direto do diretório (normalmente o executável fica dentro do diretório “src”), mas se você quiser pode instalá-lo agora e o deixar disponível para todos usuários. Para fazer isto, torne-se root, vá até o diretório que contém o programa compilado (você pode usar o comando “su” apenas sem aquele tracinho “-” para virar root e permanecer no diretório) e execute:
make install
Após instalado, você deve guardar o diretório com o programa compilado e desinstalado. Recomendo que você o copie para o diretório do root (/root). Ele será necessário para se no futuro você quiser desinstalar o programa. Para desinstalar o programa, como root entre no diretório dele e execute:
make uninstall
Se você não quiser guardar o código fonte e prefirir algo mais automatizado, recomendo pesquisar sobre um software chamado “checkinstall”. Ele é encontrado em distribuições baseadas no RedHat e Debian (rpm e deb). Se você o instalar, tudo que deve fazer é, ao invés de executar o “make install” executar “chekinstall” que ele fará alguma perguntas para você. Quando terminar ele irá instalar o programa e ao mesmo tempo criar um pacote rpm ou deb (dependendo do sistema de empacotamento utilizado pela sua distribuição). A vantagem de se utilizar o checkinstall é que você pode desinstalar o programa mais tarde pelo gerenciador de pacotes de sua distribuição sem precisar guardar o código fonte, e de quebra pode mandar o pacote que você criou compilado para seus amigos que também partilham da mesma distribuição que você (pode ser que não funcione devido a falta de bibliotecas necessárias no computador de seus amigos. Instale as mesmas bibliotecas que você utilizou no momento da compilação).
Não se esqueça de ler a documentação. A maioria dos programas a serem compilados são instalados da forma acima, mas muitos deles possuem métodos diferenciados e/ou são escritos em outras linguagens, portanto utilizam outros compiladores.
Com isso concluimos um breve tutorial que deve introduzir muitos usuários na arte de instalar programas no Linux. Sempre que surgir uma dúvida lembre-se de pedir ajuda em uma comunidade Linux que sempre há alguém disposto a lhe ajudar.