O Alien permite converter pacotes .rpm, que originalmente seriam destinados a outras distribuições, como o Fedora, Mandriva, etc. Usar pacotes destinados a outras distribuições nem sempre funciona, pois eles foram compilados para trabalhar em outro ambiente, com bibliotecas e componentes diferentes dos que estão realmente instalados no seu micro. Mas, em muitos casos, pode ser a única opção.
Um
exemplo clássico é o antigo pacote de drivers 3D para as placas ATI
Radeon. Digo antigo, pois nas novas versões ele adotou um sistema
similar ao do VMware, onde existe um instalador genérico, que se
encarrega da instalação.
O
driver antigo era distribuído apenas em versão .rpm, muito embora
pudesse (com algumas adaptações), ser usado em outras distribuições.
O Alien pode se instalado usando o próprio apt-get:
# apt-get install alien
Para converter um pacote, simplesmente use o comando “alien”, seguido pelo arquivo, como em:
# alien nome_do_programa.rpm
fglrx-4-3-0_8.10.19-2_i386.deb generated
Note que ele gera um arquivo de mesmo nome, mas com a extensão .deb, que pode ser instalado usando o comando “dpkg -i”.
Converter
pacotes de um formato para outro é bem mais simples do que pode parecer
à primeira vista. O principal não é o formato do pacote em si, mas o
que existe dentro dele. Atualmente, está em desenvolvimento um
gerenciador de pacotes universal, o “smart”, que é capaz de converter e
instalar automaticamente pacotes de diferentes formatos. Ele pode vir a
ser o sucessor do apt-get, urpmi, yum e outros gerenciadores que usamos
hoje em dia.
Instalando a partir do código fonte
Os pacotes com código fonte, distribuídos na forma dos famosos pacotes .tar.gz ou .tar.bz2, são o formato mais universal, porém ao mesmo tempo o mais complicado de instalar, que você deixa como um último recurso a lançar mão quando não encontrar um pacote atualizado do programa que precisa instalar.
Em
primeiro lugar, é necessário ter instalado um conjunto de compiladores,
incluindo o gcc e g++, e ferramentas como o make, autoconf, diff e
patch e bibliotecas, como o binutils-dev, libc6-dev. Este “kit básico” é
instalado ao marcar a categoria “desenvolvimento” (ou development)
durante a instalação. No caso do Kurumin, use o script
“instalar-compiladores”.
Uma
dica é que todos os pacotes cujo nome termina com “-dev” são justamente
bibliotecas de desenvolvimento, que podem ser necessários ao compilar
determinados programas. Quando o instalador reclama da falta de
bibliotecas ou arquivos do X, provavelmente ele está dando falta do
pacote “xlibs-dev”, quando reclamar da falta de arquivos do KDE,
provavelmente está pedindo o pacote “libqt3-dev” e assim por diante. A
maior dificuldade em compilar programas complexos está justamente em
localizar e instalar o conjunto de bibliotecas de que ele precisa.
Se os pré-requisitos estiverem em ordem, a compilação em si é feita descompactado o arquivo (usando o comando “tar -zxvf pacote.tar.gz” ou “tar -jxvf
pacote.tar.bz2″ ou descompactando pelo próprio Konqueror), acessando a
pasta que será criada e rodando três comandos básicos:
$ ./configure
$ make
# make install
$ make
# make install
O
“./configure” executa um script (dentro da pasta do programa), que
verifica o sistema, em busca dos componentes de que precisa. Ele avisa
caso algo esteja faltando, como neste erro que apareceu ao tentar
compilar o Qemu:
ERROR: QEMU requires SDL or Cocoa for graphical output
To build QEMU with graphical output configure with –disable-gfx-check
Note that this will disable all output from the virtual graphics card.
To build QEMU with graphical output configure with –disable-gfx-check
Note that this will disable all output from the virtual graphics card.
Neste
exemplo, está faltando a biblioteca de desenvolvimento do SDL. Quase
sempre, os pacotes que contém bibliotecas começam com “lib” e os pacotes
de desenvolvimento terminam com “-dev”. Procurando no http://www.debian.org
por um pacote que comece com “lib”, termine com “-dev” e tenha “sdl” no
meio, você chega ao “libsdl1.2-dev”, que é justamente o pacote que
estava faltando neste caso . Em casos onde a solução parecer mais difícil, a melhor opção é fazer uma busca no Google, usando parte da mensagem de erro.
O
“make” cuida do trabalho pesado, fazendo a compilação propriamente
dita. Ele se baseia nas informações deixadas pelo configure para
encontrar os componentes de que precisa.
Finalmente,
temos o “make install”, que finalmente instala o programa, copiando os
arquivos gerados pelo make para as pastas corretas do sistema. Ao
contrário dos dois primeiros comandos, ele precisa ser executado como
root, já que envolve fazer alterações no sistema.
Apesar
destes três comandos serem um padrão adotado na maioria dos pacotes,
eles não são necessariamente uma regra. Muitos programas usam sistemas
simplificados de instalação ou mesmo scripts próprios, por isso é sempre
bom dar uma olhada no arquivo “INSTALL” ou “README” dentro da pasta,
que explica os passos necessários.
Em
geral, os programas instalados a partir dos fontes não criam os ícones
no menu. Você precisa chamar o programa via linha de comando ou criar os
ícones manualmente.
Uma dica com relação às dependências e bibliotecas é usar o auto-apt,
um programa que verifica as mensagens de erro geradas durante a
compilação e procura instalar via apt-get os componentes necessários
para concluir a compilação. Ele não é perfeito: muitas vezes se perde ou
tenta instalar pacotes desnecessários, mas realmente ajuda em muitos
casos. Você pode instalá-lo via apt-get:
# apt-get install auto-apt
Depois de instalado, execute (nesta ordem) os comandos “auto-apt update“, “auto-apt updatedb” e “auto-apt update-local“, que geram a base de dados que ele usa para fazer seu trabalho.
Depois
de tudo pronto, você passa a executar os comandos de compilação dos
pacotes através dele, usando o comando “auto-apt run” seguido pelo
comando, como em:
# auto-apt run ./configure
# auto-apt run make
# auto-apt run make
Programas com instalador
Como comentei, muitos programas usam instaladores próprios e são desenvolvidos de forma a funcionarem sem modificações em várias distribuições. Alguns exemplos são o Java, RealPlayer, Acrobat Reader, os drivers 3D da nVidia e ATI, versões antigas do OpenOffice (anteriores ao 2.0), versões do Firefox e Thunderbird baixadas do mozilla.org ou mozilla.org.br e muitos jogos (como o Quake 3, Unreal, Medal of Honour e outros), que utilizam um instalador gráfico desenvolvido pela saudosa Loki.
Estes programas quase sempre usam a extensão “.sh” e são fáceis de instalar, já que basta executar o arquivo num terminal para iniciar a instalação.
Ao
baixar o arquivo, ele sempre virá com a permissão de execução
desmarcada, uma medida de segurança para prevenir acidentes com
possíveis arquivos infectados com vírus e trojans. Apesar de parecer
perda de tempo, esta é uma das medidas que mais contribui para a
segurança geral do sistema num desktop, pois você não corre o risco de
executar um arquivo simplesmente por clicar por acidente num link no
navegador ou no leitor de e-mails: precisa realmente salvá-lo no HD,
marcar a permissão de execução e finalmente executá-lo. Um vírus que se
propagasse via e-mail encontraria um terreno muito menos fértil no
Linux; ele teria que vir com manual de instruções .
Para ativar a permissão de execução, use o comando “chmod +x”, como em:
$ chmod +x mohaa-lnx-1.11-beta3.run
Muitos
instaladores podem ser executados diretamente com seu login de usuário,
desde que você instale o programa numa pasta dentro do seu home. Outros
realmente precisam ser executados como root.
Você
pode executar o programa diretamente pelo Konqueror, clicando sobre ele
(lembre-se de que você pode abrir o Konqueror como root usando o
comando “sudo konqueror” ou ainda “kdesu konqueror”); ou pelo terminal,
usando o “./”, como em:
# ./mohaa-lnx-1.11-beta3.run
No
caso dos games, o instalador pede os CDs de instalação do Windows, da
onde copia os arquivos necessários (mapas, sons, etc.). Mas, depois de
instalado, o game roda realmente como um aplicativo nativo.
No
caso de games compostos por vários CDs, você por usar os comandos
“umount /mnt/cdrom” e “mount /mnt/cdrom” para trocar o CD durante a
instalação. A dica neste caso é que você não pode estar dentro da pasta
“/mnt/cdrom” ao tentar desmontar o CD, caso contrário o sistema percebe
que o diretório está em uso e retorna um erro. Dê os comandos a partir
de outro diretório qualquer e você consegue desmontar normalmente.
Além
das páginas dos respectivos desenvolvedores, você pode baixar os
instaladores (e demos) for Linux de muitos dos games portados no: http://darkstar.ist.utl.pt/pub/games/.
Outras ferramentas de instalação
O apt-get é atualmente quase que uma ferramenta universal. Além de ser usado nas muitas distribuições derivadas do Debian (incluindo o Ubuntu), ele foi portado para distribuições derivadas do Red Hat pela Equipe da Conectiva. Embora ainda não seja a opção padrão, ele pode ser instalado no Mandriva, Fedora e em outras distribuições.
Mas, além do apt-get em si, existem outras ferramentas de instalação, particulares de cada distribuição.
No Mandriva é usando o “rpmdrake“,
um utilitário gráfico (disponível dentro do Mandriva Control Center)
que permite instalar, remover e atualizar programas. Também é possível
instalar programas via linha de comando usando os comandos “urpmi
programa” (para instalar) e “urpme programa” (para remover). Por padrão,
o urpmi simplesmente instala os pacotes a partir dos CDs de instalação,
mas é possível adicionar fontes adicionais, como no apt-get. Um site
que ajuda nesta tarefa é o: http://easyurpmi.zarb.org/.
No Fedora é usado o “yum“,
que funciona de forma bem similar ao apt-get, baixando os pacotes da
Internet, junto com as dependências. Use o comando “yum update” para
gerar a base de dados com os pacotes disponíveis, o comando “yum install
pacote” para instalar novos programas e “yum remove pacote” para
remover. Assim como no urpmi, é possível adicionar repositórios extras,
adicionando-os no arquivo “/etc/yum.conf”.