Você está na página 1de 8

No comeo existia o cdigo fonte. Voc baixava um pacote .tar.

gz, contendo o cdigo fonte do programa, e a instalao consistia em compilar e instalar os executveis gerados na sua mquina. Esta forma de distribuio faz sentido em se tratando de aplicativos abertos, pois permite que voc veja e at adapte o cdigo fonte se necessrio, para que ele rode na sua mquina. Em muitos casos, possvel instalar o programa em outro sistema operacional (a maior parte dos programas do Linux podem ser instalados no BSD, com pequenas adaptaes) ou at mesmo em outras plataformas. O problema que instalar programas a partir dos fontes demorado e nem sempre simples, j que voc precisa ter instalados uma grande quantidade de compiladores e bibliotecas, necessrios para compilar os mais diversos programas. Existem incontveis pequenas bibliotecas e ferramentas de desenvolvimento por a e no muito vivel tentar manter todas elas instaladas. Compilar significa transformar o cdigo fonte, escrito pelo programador, nos arquivos binrios que so executados pelo sistema. Ao compilar um programa, so gerados vrios executveis, bibliotecas e arquivos de configurao, que so copiados para pastas especficas do sistema. Os executveis vo para a pasta "/usr/bin", as bibliotecas para a "/usr/lib", os arquivos de configurao para o "/etc" e assim por diante. Algum chegou, ento, a uma concluso obvia: ao invs de cada um ter que ter o trabalho de compilar o programa na sua prpria mquina, seria mais simples se algum compilasse e distribusse um arquivo pronto, com os componentes j compilados, em um formato simples de instalar. Nasciam ento os pacotes pr-compilados :). Os pacotes so uma idia muito simples. Voc cria um arquivo compactado contendo a mesma estrutura de pastas e arquivos que seria criada ao instalar o programa manualmente. Ao instalar o pacote, os arquivos so descompactados no diretrio raiz, fazendo com que todos os arquivos sejam colocados nos diretrios corretos. Ao desinstalar o pacote, os arquivos so removidos, deixando o sistema da forma como estava inicialmente. Uma forma rpida e limpa de instalar programas. Existem basicamente trs formatos de pacotes diferentes: os pacotes .deb, usados pelas distribuies derivadas do Debian (incluindo o Kurumin, Ubuntu e Kubuntu), os pacotes .rpm, usados pelas distribuies derivadas do Red Hat (Fedora, Mandriva e outros) e os pacotes .tgz, usados pelo Slackware e derivados. No existe nada de fundamentalmente diferente entre os trs formatos e inclusive possvel transformar um pacote .rpm em um pacote .deb. Entretanto, devido s diferenas que existem entre uma distribuio e outra, no existe garantia de que um pacote do Fedora funcionar no Debian, por exemplo. O prximo passo foi a criao dos gerenciadores de pacotes, programas que permitem baixar e instalar novos programas de forma automtica, verificando as dependncias e, caso necessrio, baixar outros programas e bibliotecas de que o programa inicial precisa. J vimos alguns exemplos do uso do apt-get, o gerenciador usado nas distribuies derivadas do Debian. Alm dele, temos tambm o urpmi, usado no Mandriva, o yum, usado no Fedora, e o emerge, usado no Gentoo. Voc pode perguntar por que no fazem como no Windows, onde cada programa tem seu instalador. Na verdade, muitos programas so distribudos desta forma, como o Java, OpenOffice, Firefox, Thunderbird, VMware e diversos games. Nestes casos, voc simplesmente executa o arquivo e o instalador se encarrega do resto da instalao. O inconveniente que estes pacotes so desenvolvidos para funcionar em qualquer distribuio, por isso incluem todo tipo de bibliotecas e mdulos de que o programa possa precisar, sem reaproveitar os componentes que voc j tem instalados. Isso faz com que os pacotes sejam prticos de instalar, mas em compensao bem

maiores (e mais pesados), assim como muitos dos programas do Windows. Em resumo, podemos dizer que existem trs formas de instalar programas no Linux: 1- Usar o apt-get ou outro gerenciador de pacotes para instalar pacotes prprios da distribuio em uso. Esta a forma mais simples e menos passvel de problemas, que voc usa sempre que possvel. 2- Programas com instaladores prprios, destinados a funcionar em vrias distribuies. Eles tambm so simples de instalar, mas no to simples quanto usar o apt-get. Muitos programas so distribudos apenas desta forma, como o VMware. 3- Instalar o programa a partir do cdigo fonte, o que pode ser necessrio no caso de aplicativos pouco comuns, que no estejam disponveis de outra forma.

Instalando programas com o apt-get


O apt-get uma ferramenta extremamente poderosa e prtica depois que voc aprende os conceitos bsicos. Ele pode ser encontrado no apenas no Debian, Ubuntu e no Kurumin, mas em outras distribuies baseadas no Debian, como o Xandros, Memphis e at mesmo no Linspire. Ferramentas como o urpmi, do Mandrake, o synaptic, do Conectiva e o yum, do Fedora tambm so baseados nele. Em primeiro lugar, o apt-get utiliza um conceito de fontes de atualizao. Ele pode obter pacotes de praticamente qualquer lugar, incluindo CD-ROMs do Debian, unidades de rede, etc. Mas o meio mais usado justamente baixar os pacotes via internet, o que permite obter sempre as verses mais recentes dos programas. Para usar o apt-get, o primeiro passo rodar o comando "apt-get update", que faz com que o apt-get verifique todos os repositrios disponveis e baixe a lista com os pacotes disponveis em cada um. Isso permite que ele crie uma espcie de banco de dados, com os pacotes disponveis, onde cada um pode ser encontrado e qual endereo contm a verso mais recente. Este comando deve ser executado periodicamente. O ideal que voc o use uma vez por semana, ou sempre que for fazer alguma instalao importante: # apt-get update Lembre-se de que para virar root, basta digitar "su" no terminal e fornecer a senha configurada durante a instalao. Ao rodar o Kurumin a partir do CD, use o comando "sudo su" para definir a senha. Terminado, voc pode comear a instalar os programas, usando o comando "apt-get install", seguido do pacote desejado. Para instalar o Abiword (o processador de textos), por exemplo, use o comando: # apt-get install abiword Veja que o apt-get cuida de toda a parte chata. No meu caso, por exemplo, preciso instalar tambm os pacotes "abiword-common", "libenchant1" e "libmyspell3", que o apt-get instala automaticamente junto com o pacote principal, depois de pedir uma confirmao.

Terminada a instalao, o Abiword j est pronto para usar. Voc vai encontrar o cone dentro do menu "Escritrio e utilitrios", no iniciar. Alguns programas podem no criar corretamente os cones no iniciar, mas voc sempre pode cham-los via terminal ou criar o cone manualmente, usando o kmenuedit. Isto se repete para qualquer um dos mais de 20.000 pacotes atualmente disponveis nos repositrios que vm ativados por padro no Kurumin. Basta saber o nome do programa e voc pode instal-lo rapidamente a qualquer momento. Voc pode ver uma lista dos pacotes disponveis nos FTPs oficiais do Debian no: http://www.debian.org/distrib/packages. Alm de instalar, possvel usar o apt-get para atualizar qualquer pacote do sistema. Para isso, repita o comando de instalao, como em: # apt-get install abiword # apt-get install k3b # apt-get install mplayer ... e assim por diante. Quando o programa solicitado j est instalado, o apt-get verifica se existe uma verso atualizada e, em caso afirmativo, j a baixa e instalada automaticamente. Caso contrrio, ele simplesmente avisa que a verso mais recente j est instalada e no faz nada. Quando voc no se lembrar do nome completo do programa, digite apenas as primeiras letras e pressione a tecla TAB duas vezes, assim voc ver uma lista com as alternativas possveis. Uma vez instalado o programa, o comando para cham-lo pelo terminal (em 99% dos casos) o prprio nome do pacote. Por exemplo, para usar o k3b, voc instala o pacote "k3b" e para cham-lo pelo terminal, usa o comando "k3b". Na maioria dos casos, criado um cone no iniciar, mas, caso necessrio, voc pode fazer isso manualmente usando o kmenuedit, que voc acessa ao clicar com o boto direito sobre o "K" do iniciar. Em casos onde o programa realmente "desaparea" depois de instalado, sem rastros aparentes, voc pode procur-lo usando o comando "whereis" (onde est), como em: $ sudo updatedb $ whereis realplay realplayer: /usr/bin/realplay Em muitos casos, o programa pode ser instalado em uma pasta fora do PATH (as pastas /bin, /usr/bin, /usr/local/bin, etc.), fazendo com que o sistema no encontre o comando. Nestes casos, chame-o indicando o caminho completo ou crie um link para ele (usando o comando "ln -s") dentro da pasta "/usr/bin", ou "/usr/local/bin", onde o sistema consiga localiz-lo diretamente, como em: # ln -s /usr/lib/realplayer10/realplay /usr/bin/realplay Lembre-se de que em muitos casos o nome do executvel do programa pode ser diferente do nome do programa. Por exemplo, o executvel do Realplayer "realplay" e o do VMware Player "vmplayer". Um detalhe interessante que, mesmo ao atualizar um programa, as suas configuraes so mantidas. Ao atualizar o Firefox ou o Konqueror, por exemplo, voc no perde seus bookmarks. Isso acontece porque as configuraes e arquivos referentes aos programas so armazenados em pastas ocultas dentro do seu diretrio de usurio. Os bookmarks, cache, cookies e outros arquivos do Firefox, por exemplo, vo para a pasta ".mozilla/firefox", dentro do seu home. O apt-get nunca

altera estes arquivos, de forma que suas preferncias sempre so preservadas durante os upgrades. Um segundo tipo so os arquivos de configurao do sistema, que tambm fazem parte dos pacotes. Quando um pacote traz uma nova verso de um determinado arquivo de configurao, mas o apt-get percebe que o arquivo anterior foi alterado por voc, ele pergunta se voc quer manter o arquivo atual ou se voc quer substitu-lo pela nova verso. O conselho geral nestes casos responder no substituio (que o default). Isso mantm o arquivo atual, que, afinal, est funcionando. Autorize a substituio apenas quando voc souber do que se trata. Lembre-se de rodar o "apt-get update" periodicamente, de preferncia uma vez por semana ou antes de instalar qualquer programa ou atualizao importante. Assim voc ter certeza de que o apt instalar sempre as verses mais recentes dos programas. O apt no apenas torna a instalao de novos programas bem mais simples, mas diminui tambm a necessidade de estar sempre instalando verses mais recentes da distribuio, j que voc pode ir atualizando os programas mais usados sempre que souber de uma verso mais nova. possvel tambm remover pacotes instalados, neste caso usando o parmetro "remove", como em: # apt-get remove abiword Caso os arquivos referentes ao programa tenham se corrompido de alguma maneira (desligamentos incorretos, problemas de BIOS, etc. ;), voc pode forar sua reinstalao, usando o parmetro "-reinstall". Normalmente o apt-get avisa que o programa j est em sua verso mais recente e no faz nada: # apt-get install bluefish Lendo Lista de Pacotes... Pronto Construindo rvore de Dependncias... Pronto bluefish j a verso mais nova. Adicionando o "--reinstall" ele prossegue com a instalao, mesmo que o pacote j seja a verso mais recente, substituindo todos os arquivos referentes a ele e resolvendo o problema. # apt-get install --reinstall abiword Finalmente, existe a opo de atualizar todo o sistema, o que feito usando os comandos: # apt-get update # apt-get upgrade O "apt-get update" o comando que baixa a lista dos pacotes disponveis, que j vimos. O "apt-get upgrade", por sua vez, age de forma bem diferente: ele verifica todos os pacotes do sistema e tenta atualizar todos de uma vez, o que geralmente resulta em uma longa lista de atualizaes: Aqui estou usando uma instalao antiga, que no atualizada h bastante tempo. Veja que existem atualizaes para 402 dos pacotes instalados, totalizando 246 MB de downloads! :). Apesar disso, como estamos apenas atualizando pacotes e no instalando outros novos, o espao ocupado pelo sistema no HD aumenta em apenas 24.6 MB. Depois desta primeira leva, sobram ainda mais 96 pacotes (os pacotes que "sero mantidos em suas verses atuais" no incio da lista). Estes pacotes no so atualizados automaticamente, pois incluem novas dependncias, ou seja, para atualiz-los, o apt-get precisar instalar alguns novos pacotes.

Para fazer isso, voc precisa rodar o comando "apt-get install", seguido pela lista dos pacotes. Para no precisar escrever um de cada vez, voc pode selecionar parte da lista e colar usando o boto do meio do mouse. Voc pode atualizar vrios de cada vez, mas como o processo involve instalar novos pacotes, sempre bom revisar a lista e fazer o processo em partes. Naturalmente, atualizar muitos pacotes de uma vez sempre um processo passvel de pequenos problemas, at porque, opes dentro dos programas podem mudar de uma verso para outra, causando pequenas irregularidades quando usados em com as configuraes antigas. De uma forma geral, voc pode atualizar o sistema sem medo ao utilizar as verses estveis do Debian (mais detalhes a seguir), onde os pacotes so muito bem testados e recebem apenas atualizaes de segurana. As atualizaes so menores e mais espordicas, incluindo apenas as atualizaes importantes. A verso de desenvolvimento, por sua vez, um alvo mvel, onde grandes quantidades de atualizaes so feitas diariamente. Voc no apenas tem acesso s novas verses dos programas, mas tem tambm acesso a todos os novos bugs. At a verso 6.1, o Kurumin sempre foi baseado nas verses de desenvolvimento do Debian, da os problemas espordicos ao tentar atualizar todo o sistema usando o "apt-get upgrade". A partir do Kurumin 7, o sistema passou a ser baseado nas verses estveis, o que garante a estabilidade do sistema a longo prazo. De uma forma geral, voc ter menos problemas ao atualizar o Kurumin 7 do que qualquer outra distribuio, com exceo, claro, do prprio Debian estvel e de outras distribuies baseadas nele. Para quem gosta de desafios, existe a opo de modificar a configurao do apt-get, para que ele utilize os repositrios do testing/unstable, ou seja, da verso de desenvolvimento do Debian, ou utilizar a verso de desenvolvimento do Kurumin 8 (mantenha-se informado atravs dos fruns), que ser baseado no Lenny, a prxima verso do Debian. Alm da linha de comando existem, naturalmente, programas grficos que tentam facilitar a configurao, como o Synaptic, que abordo a seguir. A questo de facilitar ou no , na verdade, polmica, pois muita gente acha mais fcil trabalhar com o Synaptic, enquanto outros acham sua interface muito complicada e preferem continuar usando os comandos. Mas, de qualquer forma, ele no deixa de ser uma opo interessante. No Kurumin o arquivo vem comentado, permitindo que voc veja a funo de cada linha. Ele vai sendo atualizado conforme os endereos mudam ou conforme aparecem novos repositrios. Voc pode baixar estas atualizaes atualizando os scripts dos cones mgicos, usando a opo "cones Mgicos > Ativar o apt-get > Atualizar scripts dos cones mgicos". Normalmente, voc no precisa se dar o trabalho de alterar este arquivo, mas no custa entender melhor como ele funciona. Vamos a um resumo rpido dos repositrios usados por padro no Kurumin 7 e a funo de cada um: # Etch (atual stable, lanado em Dezembro de 2006) deb http://ftp.debian.org/debian etch main contrib non-free deb http://security.debian.org etch/updates main contrib # Debian Unofficial (contm o java, acrobat e outros pacotes "no livres") deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted # Debian Multimedia (pacotes do mplayer, vrios codecs e outros pacotes) deb http://www.debian-multimedia.org etch main

Todas as linhas comeam com "deb", seguido do endereo http do servidor onde os pacotes esto disponveis. Em seguida temos listadas as pastas (dentro do servidor) que contm os pacotes. Esta configurao necessria, pois o Debian composto de trs verses, que so desenvolvidas simultaneamente (Stable, Testing e Unstable), sem falar das verses antigas. O Kurumin 7 baseado no Etch, que a atual verso estvel, lanada no final de 2006. Temos tambm o Lenny, que a atual verso de desenvolvimento (testing), cujo lanamento est planejado para 2008, e o Sid, que a eterna verso instvel. Cada repositrio inclui todas estas diferentes verses, de forma que necessrio especificar qual delas usar. A linha "deb http://ftp.debian.org/debian etch main contrib non-free" adiciona o repositrio principal, incluindo suas trs subpastas. Em seguida, temos a linha "deb http://security.debian.org etch/updates main contrib", que ativa o repositrio com as atualizaes de segurana. Este repositrio mantido por uma "fora-tarefa" de desenvolvedores que disponibilizam rapidamente correes para problemas de segurana encontrados nos programas. Ele no possui mirrors e est disponvel apenas para a verso estvel. As linhas seguintes incluem dois repositrios extras (o debian unofficial e o debian multimedia), que complementam os repositrios padro, oferecendo codecs (como o pacote w32codecs, necessrio para assistir vdeos .wmf, quicktime e outros formatos), aplicativos multimdia (como o Mplayer) e alguns programas proprietrios, como o Acrobat Reader. Outra configurao comum com relao ao mirror do Debian que ser usado. Existem vrios mirrors disponveis, diferenciados pelo cdigo de pas. A linha "deb http://ftp.debian.org/debian etch main contrib non-free", usada por padro, faz com que seja usado o servidor principal do Debian, que divide a carga com os demais. Mas voc pode usar diretamente um servidor especfico adicionando um cdigo de pas antes do "debian.org". Para usar o mirror do Brasil, por exemplo, voc substituiria a linha deb http://ftp.debian.org/debian etch main contrib non-free por: deb http://ftp.br.debian.org/debian etch main contrib non-free Para usar o dos EUA, voc substitui a sigla por "us", para usar o da Alemanha por "de", para usar o da Inglaterra por "uk" e assim por diante. No existe uma regra fixa para saber qual mirror ser mais rpido. Pela lgica, o do Brasil seria sempre mais rpido, mas isso depende muito do horrio, de qual operadora voc usa e assim por diante. Em muitos casos, o dos EUA ou da Alemanha podem ser mais rpidos. O melhor testar os trs em diferentes horrios e ver qual apresenta melhores resultados. No se esquea de rodar o "apt-get update" depois de cada alterao. Note que esta configurao de pas s vale para o repositrio principal, que possui diversos mirrors justamente por receber um trfego muito grande.

Usando o testing/Unstable
Se voc gosta de viver no limite, pode mudar a configurao, de forma a utilizar a verso de desenvolvimento do Debian, o famoso testing/unstable, a mesma configurao que usada nas

verses de desenvolvimento do Kurumin. Neste caso, voc tem acesso s ltimas verses dos programas, mas em troca no tem garantia de estabilidade. normal que voc passe a ter pequenos problemas ao atualizar o sistema, que um ou outro programa deixe de funcionar corretamente depois de atualizado e assim por diante. Em alguns casos, voc pode presenciar problemas mais graves, como o modo grfico deixar de abrir, ou mesmo o boot parar em algum ponto, devido a um erro em algum servio importante. Quase sempre, os erros so facilmente contornveis, mas voc precisa ter pacincia para procurar a soluo. Definitivamente, no para os fracos de esprito ;). Para fazer a alterao, substitua todas as referncias ao "etch" dentro do arquivo por "lenny", que a atual verso testing. Comente a linha do "security.debian" (as atualizaes de segurana esto disponveis apenas para as verses estveis) e adicione a linha que ativa o uso dos repositrios do unstable. Depois das alteraes, o arquivo ficar assim: deb http://ftp.debian.org/debian lenny main contrib non-free deb http://ftp.debian-unofficial.org/debian lenny main contrib non-free restricted deb http://www.debian-multimedia.org lenny main # Unstable deb http://ftp.debian.org/debian unstable main contrib non-free recomendvel usar os repositrios do Lenny (Testing) junto com os repositrios do Unstable, pois em muitas situaes o testing fica com dependncias quebradas (pacotes que precisam de outros que ainda no foram atualizados) e o apt resolve o problema automaticamente, baixando a partir do Unstable. Ao alterar a verso usada por padro no "/etc/apt/sources.list", voc deve alterar tambm o arquivo "/etc/apt/apt.conf", mudando a primeira linha de: APT::Default-Release "etch"; Para: APT::Default-Release "lenny"; Isso explica ao apt que ele deve passar a utilizar os pacotes do Testing ao invs do Stable. No se esquea de rodar o comando "apt-get update" sempre que fizer alteraes nos dois arquivos. Embora no seja recomendvel, voc pode usar simultaneamente as linhas referentes ao Stable (etch) e ao Testing (lenny) simultaneamente. Neste caso, o apt-get vai usar por padro o que estiver configurado no arquivo "/etc/apt/apt.conf", mas voc fica com os dois repositrios disponveis e pode instalar um determinado pacote a partir do outro, usando o parmetro "-t testing" (ou -t stable), como em: # apt-get install -t testing abiword Esta uma forma de instalar verses recentes dos programas, a partir do Testing ou Unstable, sem precisar mudar o repositrio padro, mas nem sempre uma boa idia, j que misturar pacotes das duas verses pode levar a problemas se voc no souber o que est fazendo. Muitos programas, como o BrOffice, Firefox/Iceweasel, Thunderbird/Icedove, Java, Skype e outros so relativamente independentes de outros pacotes instalados e quase sempre funcionam, independentemente da verso. Contudo, os programas do KDE, Gnome e as bibliotecas base do sistema possuem uma forte

interdependncia entre si, fazendo com que, muitas vezes, a nica forma de instalar a verso mais recente de um programa simples, como o kedit ou o ksplash, seja atualizar todo o KDE, como neste exemplo:

O cache do apt-get
O apt-get salva uma cpia de todos os pacotes baixados, para uso posterior, dentro da pasta "/var/cache/apt/archives/". A lista dos pacotes disponveis (gerado ao executar o apt-get update) salva dentro da pasta "/var/lib/apt/lists/". No Debian, muito comum fazer backup destas duas pastas de forma a preservar o cache do apt-get depois de reinstalar o sistema, ou mesmo instalar os pacotes j baixados em outras mquinas. Pense no caso de algum que tem banda larga no trabalho, mas acessa via modem em casa, por exemplo. Por outro lado, o cache tende a ficar grande com o passar do tempo e ocupar muito espao no HD. Se voc acessa via banda larga, este pode ser um gasto desnecessrio. Existem duas opes para limpar a casa. A primeira, mais contida, usar a opo: # apt-get autoclean Ela remove apenas pacotes antigos ou duplicados, mantendo s as verses mais recentes, que realmente tm chance de serem usadas. Para realmente eliminar todos os arquivos do cache, use o comando: # apt-get clean Basicamente, quando encontrar este tipo de problema, voc deve: a) Rodar o "apt-get update" para ter certeza de que a lista de pacotes do apt est atualizada. b) Rode o comando "apt-get -f install" para usar o sistema de resoluo de problemas do apt. c) Caso ele no resolva, experimente usar o "dpkg -i --force-all" para forar a instalao do pacote com problemas, como no meu exemplo, ou use o "dpkg -r pacote" caso prefira desistir da instalao. d) Rode o comando "dpkg --configure -a", que verifica pendncias na configurao dos pacotes. e) Rode novamente o "apt-get -f install". Caso ele no resolva, experimente o "apt-get -f remove", que tem uma funo similar do "-f install", mas d preferncia a remover os pacotes com problemas, ao invs de tentar corrigir a instalao.

Você também pode gostar