Instalando e gerenciando programas no Linux
Neste artigo falo sobre a estrutura seguida pelos programas distribuídos em código-fonte. Aprenderemos como gerenciar (instalar/remover) programas utilizando o GNU Make. De quebra ainda abordaremos os pacotes do Slack (.tgz) e Red Hat (.rpm).
Programas em código-fonte e .tgz
Programas em fontes
Seguindo a filosofia do próprio sistema Linux, a maioria de seus aplicativos vêm com código aberto. Grande parte dos programas que você pega na net com sufixo .tar.gz são somente os arquivos fonte, que vêm prontos pra ser compilados.
Uma compilação transforma as fontes em formatos binários, ou seja, que possam ser executados como um programa pelos usuários. Mas aí você pergunta, qual a vantagem da compilação de programas? Bem, ou o seu sistema pode precisar desse método (como no Slackware, na maioria das vezes) ou você pode incluir suportes adicionais (ou os dois). Isso contribui pra deixar o programa mais leve, ou sem funções que você não vai usar.
Depois de descompactar o arquivo .tar.gz, basta entrar no diretório dele e ler o arquivo README ou INSTALL (ou ambos) e obter mais instruções detalhadas de como instalar o programa. Veja teoricamente como funciona a compilação típica de um programa em Linux:
1. O configure
O programa vem com um script geralmente chamado de "configure". A função dele é saber quais componentes necessários que você tem para compilar o programa. Se você não tiver algum que seja essencial, o script vai ser interrompido e se você quiser realmente o programa, vai ter que conseguir esse componente necessário. Outros são opcionais, e não vão interromper.
Se tudo der certo, esse script criará um arquivo (ou vários) chamado Makefile, que contém os comandos de compilação. Você também pode incluir, se o programa permitir, parâmetros especiais com o configure quando você quer suporte específico para alguma coisa.
2. O GNU Make
O Make somente funcionará se você tiver um arquivo Makefile (que o configure criou) no diretório atual, que têm as instruções e os comandos para a compilação do programa. Então, para continuar, basta digitar "make" na linha de comando para iniciar a compilação.
Note que você deve ter o programa make instalado. Ele vem em todas as distribuições Linux.
3. O make install
Depois do programa ter compilado, os binários executáveis ficarão armazenados no diretório que você descompactou os fontes. Para instalar o programa em locais mais adequados do computador, usa-se novamente o GNU Make acrescentado da opção "install" - "make install". E pronto! O programa já estará instalado e pronto pra ser usado.
Essa é a teoria geral para a maioria dos programas, mas SEMPRE leia o arquivo README, porque o programa pode precisar de opções especiais ou outros procedimentos alternativos. Veja um resumo de como se procede geralmente:
$ tar zxvf arquivo.tar.gz (para descompactar)
$ cd diretorio.que.o.arquivo.criou
$ ./configure (o . é necessário para simbolizar o diretório atual)
$ make
# make install
(sempre tenha certeza de que erros não ocorreram)
DICA: Se você desejar desinstalar um programa instalado a partir de um comando "make install", não se desespere que tem solução. Basta ir no diretório das fontes e digitar "make uninstall". Para dar certo, os arquivos Makefile tem que existir, o que implica que o configure deve ser executado.
OBS: Os programas também podem vir em .tar.gz, mas pré-compilados. Um bom exemplo desse tipo de empacotamento são os pacotes do Linux Slackware, em formato .tgz (na verdade .tgz é exatamente a mesma coisa que .tar.gz).
Para instalar um pacote no Slackware, basta colocar o pacote na raiz (/) do sistema, e digitar o comando de descompactamento. Cada componente vai para o seu devido lugar. Uma alternativa também seria usar o pkgtool do Slackware (digite pkgtool na linha de comando).