Atenção, este blog foi migrado para: http://brunopereira.org
Uma das principais diferenças no uso do Linux em relação ao Windows é a maneira de se instalar softwares no primeiro. Como muitas pessoas próximas a mim estão começando a usar Linux, resolvi dedicar um tempo para explicar de forma clara as principais coisas a se saber sobre isto no mesmo.No Windows todos estão acostumados ao famosíssimo Install Shield, que após a tradicional seqüência de Next -> Next -> Next deixa as aplicações prontas para utilização. No Linux, embora até exista o Install Anywhere (http://www.macrovision.com/products/installation/installanywhere.htm?link_id=rightnav), irmão do Install Shield, ele definitivamente não é muito popular, e portanto não entrarei em maiores detalhes sobre o mesmo.
Começarei então a falar sobre as formas clássicas de instalação de software no Linux.
Old School/Advanced
Esta forma era a mais comum inicialmente, e ainda é utilizada por algumas pessoas, principalmente quando se deseja instalar o software de forma otimizada para o hardware específico no qual ele irá rodar. Esta forma consiste em obter o código fonte da aplicação e executar os 3 passos mágicos:
./configure
make
make install
Isto respectivamente irá gerar um makefile para a aplicação, realizar o processo de construção(build) da aplicação e realizar os passos necessários para a efetiva instalação do software. Este processo otimiza a instalação da aplicação para o hardware específico da máquina, pois o compilador consegue identificar as propriedades do hardware e efetuar algumas otimizações baseadas na arquitetura do mesmo. Instalar desta forma é recomendado quando você quer otimizar a execução de uma aplicação ou serviço específico, como um servidor de banco de dados ou o Apache por exemplo. Conheço um cara da Globo(um tal de Coró… hehehehe) que usa a distribuição Gentoo, que instala TODOS os softwares compilando e construindo as aplicações de forma otimizada. Isso é purismo demais para mim, prefiro formas mais fáceis 🙂
Arquivo shell auto-suficiente
Uma outra forma de instalar softwares no Linux é com o uso de um instalador em formato shell (.sh). Tipicamente este arquivo conterá nele mesmo tudo o que ele precisa para instalar a aplicação. Uma execução simples do arquivo normalmente instala o programa perguntando algumas informações como local de instalação e uma ou outra opção de configuração. Entretanto, não é raro encontrar instaladores que ao serem executados fazem tudo sozinhos (a não ser que você mande-o fazer diferente) e instalam o software com opções padrão. Esta forma de instalação é quase sempre oferecida por aplicações que suportem múltiplos formatos de instalação, pois esta forma atende a qualquer versão de Linux.
Instalação através de gerenciadores de pacotes (package managers)
Esta é sem dúvida a forma mais fácil e recomendada de instalar a grande maioria dos softwares no Linux. Uma das coisas mais importantes que um novo usuário Linux deve aprender é como funciona o gerenciamento de pacotes. Existem 2 formatos principais de pacotes, os rpms e os debs (arquivos .rpm e .deb). A maioria das distribuições escolhe um destes 2 formatos para adotar como padrão, e acredito que a adoção de ambos seja parecida, sem haver um predominante.
O gerenciamento de pacotes no Linux armazena uma lista de fontes de pacotes. Esta lista contém repositórios de pacotes no quais poderão ser obtidos os instaladores das aplicações já no formato que a sua distribuição específica adotar como padrão. As distribuições derivadas do Debian (como Ubuntu e Kubuntu) guardam a lista de repositórios de pacotes no arquivo /etc/apt/sources.list. Não sei dizer onde ficam guardadas as listas de repositórios de rpm nas distribuições que utilizam este formato como padrão, mas geralmente as distribuições oferecem uma interface gráfica para gerenciamento destas listas de repositórios, então não é nada muito complicado de se acessar.
Para conseguir instalar uma determinada aplicação através do gerenciador de pacotes, você precisa basicamente saber se o pacote que você deseja instalar está contido nos repositórios cadastrados e então solicitar a instalação do pacote específico. Como exemplo, o comando que solicita a instalação do firefox no Kubuntu/Ubuntu é “sudo apt-get install firefox”. Caso o pacote do firefox por acaso não estivesse presente em nenhum dos repositórios cadastrados, seria exibida uma mensagem de falha na instalação com a descrição “no installation candidate for firefox”.
Além de instalar através dos repositórios cadastrados é possível instalar pacotes obtidos individualmente também. Você pode ter obtido diretamente o arquivo .deb ou .rpm da aplicação que deseja instalar, e aí você pode instalar diretamente a partir deste pacote obtido, em vez de baixar arquivos do gerenciador de pacotes. Para instalar diretamente um pacote .deb, você faz dpkg –install nome_pacote.deb. Para instalar diretamente um pacote .rpm você faz rpm –install nome_pacote.rpm.
Instalando as aplicações através do gerenciador de pacotes, você consegue remover e atualizar as aplicações pelo gerenciador, e então as instalações ficam sob controle centralizado e a manutenção do sistema fica mais fácil e padronizada.
Embora saiba que não ofereci nem de longe uma referência completa deste amplo tema, espero ter sido capaz de esclarecer um pouco do processo de instalação de softwares no Linux para usuários novos. Caso eu tenha deixado algum ponto mal explicado ou vocês desejem trocar alguma idéia a respeito disso, não hesitem em entrar em contato!