Tutorial completo do apt-get

16 05 2007

A apt-get é o gerenciador de pacotes usado no Ubuntu, Kurumin e todas as demais distribuições derivadas do Debian, além do próprio. O apt-get permite instalar e atualizar programas de forma muito simples, mas também precisa de uma certa dose de carinho e atenção. Este tutorial explica de forma minuciosa o funcionamento do apt-get e sua configuração, incluindo dicas para solucionar problemas, uso de interfaces gráficas (como o Synaptic), conversão de pacotes usando o Alien e também instalação de programas em outros formatos. Carlos E. Morimoto
26/04/2007

No começo existia o código fonte. Você baixava um pacote .tar.gz, contendo o código fonte do programa, e a instalação consistia em compilar e instalar os executáveis gerados na sua máquina. Esta forma de distribuição faz sentido em se tratando de aplicativos abertos, pois permite que você veja e até adapte o código fonte se necessário, para que ele rode na sua máquina. Em muitos casos, é possível instalar o programa em outro sistema operacional (a maior parte dos programas do Linux podem ser instalados no BSD, com pequenas adaptações) 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, necessários para compilar os mais diversos programas. Existem incontáveis pequenas bibliotecas e ferramentas de desenvolvimento por aí e não é muito viável tentar manter todas elas instaladas.

Compilar significa transformar o código fonte, escrito pelo programador, nos arquivos binários que são executados pelo sistema. Ao compilar um programa, são gerados vários executáveis, bibliotecas e arquivos de configuração, que são copiados para pastas específicas do sistema. Os executáveis vão para a pasta “/usr/bin”, as bibliotecas para a “/usr/lib”, os arquivos de configuração para o “/etc” e assim por diante.

Alguém chegou, então, a uma conclusão obvia: ao invés de cada um ter que ter o trabalho de compilar o programa na sua própria máquina, seria mais simples se alguém compilasse e distribuísse um arquivo pronto, com os componentes já compilados, em um formato simples de instalar. Nasciam então os pacotes pré-compilados :).

Os pacotes são uma idéia 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 são descompactados no diretório raiz, fazendo com que todos os arquivos sejam colocados nos diretórios corretos. Ao desinstalar o pacote, os arquivos são removidos, deixando o sistema da forma como estava inicialmente. Uma forma rápida e limpa de instalar programas.

Existem basicamente três formatos de pacotes diferentes: os pacotes .deb, usados pelas distribuições derivadas do Debian (incluindo o Kurumin, Ubuntu e Kubuntu), os pacotes .rpm, usados pelas distribuições derivadas do Red Hat (Fedora, Mandriva e outros) e os pacotes .tgz, usados pelo Slackware e derivados. Não existe nada de fundamentalmente diferente entre os três formatos e é inclusive possível transformar um pacote .rpm em um pacote .deb. Entretanto, devido às diferenças que existem entre uma distribuição e outra, não existe garantia de que um pacote do Fedora funcionará no Debian, por exemplo.

O próximo passo foi a criação dos gerenciadores de pacotes, programas que permitem baixar e instalar novos programas de forma automática, verificando as dependências e, caso necessário, baixar outros programas e bibliotecas de que o programa inicial precisa.

Já vimos alguns exemplos do uso do apt-get, o gerenciador usado nas distribuições derivadas do Debian. Além dele, temos também o urpmi, usado no Mandriva, o yum, usado no Fedora, e o emerge, usado no Gentoo.

Você pode perguntar por que não fazem como no Windows, onde cada programa tem seu instalador. Na verdade, muitos programas são distribuídos 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 instalação. O inconveniente é que estes pacotes são desenvolvidos para funcionar em qualquer distribuição, por isso incluem todo tipo de bibliotecas e módulos de que o programa possa precisar, sem reaproveitar os componentes que você já tem instalados. Isso faz com que os pacotes sejam práticos de instalar, mas em compensação bem maiores (e mais pesados), assim como muitos dos programas do Windows.

Em resumo, podemos dizer que existem três formas de instalar programas no Linux:

1- Usar o apt-get ou outro gerenciador de pacotes para instalar pacotes próprios da distribuição em uso. Esta é a forma mais simples e menos passível de problemas, que você usa sempre que possível.

2- Programas com instaladores próprios, destinados a funcionar em várias distribuições. Eles também são simples de instalar, mas não tão simples quanto usar o apt-get. Muitos programas são distribuídos apenas desta forma, como o VMware.

3- Instalar o programa a partir do código fonte, o que pode ser necessário no caso de aplicativos pouco comuns, que não estejam disponíveis de outra forma.

Instalando programas com o apt-get

O apt-get é uma ferramenta extremamente poderosa e prática depois que você aprende os conceitos básicos. Ele pode ser encontrado não apenas no Debian, Ubuntu e no Kurumin, mas em outras distribuições 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 também são baseados nele.

Em primeiro lugar, o apt-get utiliza um conceito de fontes de atualização. 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 versões 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 repositórios disponíveis e baixe a lista com os pacotes disponíveis em cada um. Isso permite que ele crie uma espécie de banco de dados, com os pacotes disponíveis, onde cada um pode ser encontrado e qual endereço contém a versão mais recente. Este comando deve ser executado periodicamente. O ideal é que você o use uma vez por semana, ou sempre que for fazer alguma instalação importante:

# apt-get update

Lembre-se de que para virar root, basta digitar “su” no terminal e fornecer a senha configurada durante a instalação. Ao rodar o Kurumin a partir do CD, use o comando “sudo su” para definir a senha.

Terminado, você pode começar 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 também os pacotes “abiword-common”, “libenchant1” e “libmyspell3”, que o apt-get instala automaticamente junto com o pacote principal, depois de pedir uma confirmação.
apt_html_310b1474
Terminada a instalação, o Abiword já está pronto para usar. Você vai encontrar o ícone dentro do menu “Escritório e utilitários”, no iniciar. Alguns programas podem não 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 disponíveis nos repositórios que vêm ativados por padrão no Kurumin. Basta saber o nome do programa e você pode instalá-lo rapidamente a qualquer momento. Você pode ver uma lista dos pacotes disponíveis nos FTPs oficiais do Debian no: http://www.debian.org/distrib/packages.

Além de instalar, é possível usar o apt-get para atualizar qualquer pacote do sistema. Para isso, repita o comando de instalação, 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 versão atualizada e, em caso afirmativo, já a baixa e instalada automaticamente. Caso contrário, ele simplesmente avisa que a versão mais recente já está instalada e não faz nada. Quando você não 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 possíveis.

Uma vez instalado o programa, o comando para chamá-lo pelo terminal (em 99% dos casos) é o próprio 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 necessário, você pode fazer isso manualmente usando o kmenuedit, que você acessa ao clicar com o botão direito sobre o “K” do iniciar.

Em casos onde o programa realmente “desapareça” 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 não 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 executável do programa pode ser diferente do nome do programa. Por exemplo, o executável do Realplayer é “realplay” e o do VMware Player é “vmplayer”.

Um detalhe interessante é que, mesmo ao atualizar um programa, as suas configurações são mantidas. Ao atualizar o Firefox ou o Konqueror, por exemplo, você não perde seus bookmarks. Isso acontece porque as configurações e arquivos referentes aos programas são armazenados em pastas ocultas dentro do seu diretório de usuário. Os bookmarks, cache, cookies e outros arquivos do Firefox, por exemplo, vão para a pasta “.mozilla/firefox”, dentro do seu home. O apt-get nunca altera estes arquivos, de forma que suas preferências sempre são preservadas durante os upgrades.

Um segundo tipo são os arquivos de configuração do sistema, que também fazem parte dos pacotes. Quando um pacote traz uma nova versão de um determinado arquivo de configuração, 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 versão. O conselho geral nestes casos é responder não à substituição (que é o default). Isso mantém o arquivo atual, que, afinal, está funcionando. Autorize a substituição apenas quando você souber do que se trata.

Lembre-se de rodar o “apt-get update” periodicamente, de preferência uma vez por semana ou antes de instalar qualquer programa ou atualização importante. Assim você terá certeza de que o apt instalará sempre as versões mais recentes dos programas.

O apt não apenas torna a instalação de novos programas bem mais simples, mas diminui também a necessidade de estar sempre instalando versões mais recentes da distribuição, já que você pode ir atualizando os programas mais usados sempre que souber de uma versão mais nova. É possível também remover pacotes instalados, neste caso usando o parâmetro “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 forçar sua reinstalação, usando o parâmetro “–reinstall”.

Normalmente o apt-get avisa que o programa já está em sua versão mais recente e não faz nada:

# apt-get install bluefish
Lendo Lista de Pacotes… Pronto
Construindo Árvore de Dependências… Pronto
bluefish já é a versão mais nova.

Adicionando o “–reinstall” ele prossegue com a instalação, mesmo que o pacote já seja a versão mais recente, substituindo todos os arquivos referentes a ele e resolvendo o problema.

# apt-get install –reinstall abiword

Finalmente, existe a opção 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 disponíveis, 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 atualizações:
apt_html_m218eb60d
Aqui estou usando uma instalação antiga, que não é atualizada há bastante tempo. Veja que existem atualizações para 402 dos pacotes instalados, totalizando 246 MB de downloads! :). Apesar disso, como estamos apenas atualizando pacotes e não instalando outros novos, o espaço ocupado pelo sistema no HD aumenta em apenas 24.6 MB.

Depois desta primeira leva, sobram ainda mais 96 pacotes (os pacotes que “serão mantidos em suas versões atuais” no início da lista). Estes pacotes não são atualizados automaticamente, pois incluem novas dependências, 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 não precisar escrever um de cada vez, você pode selecionar parte da lista e colar usando o botão do meio do mouse. Você pode atualizar vários 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 passível de pequenos problemas, até porque, opções dentro dos programas podem mudar de uma versão para outra, causando pequenas irregularidades quando usados em com as configurações antigas.

De uma forma geral, você pode atualizar o sistema sem medo ao utilizar as versões estáveis do Debian (mais detalhes a seguir), onde os pacotes são muito bem testados e recebem apenas atualizações de segurança. As atualizações são menores e mais esporádicas, incluindo apenas as atualizações importantes. A versão de desenvolvimento, por sua vez, é um alvo móvel, onde grandes quantidades de atualizações são feitas diariamente. Você não apenas tem acesso às novas versões dos programas, mas tem também acesso a todos os novos bugs.

Até a versão 6.1, o Kurumin sempre foi baseado nas versões de desenvolvimento do Debian, daí os problemas esporádicos ao tentar atualizar todo o sistema usando o “apt-get upgrade”. A partir do Kurumin 7, o sistema passou a ser baseado nas versões estáveis, 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 distribuição, com exceção, claro, do próprio Debian estável e de outras distribuições baseadas nele.

Para quem gosta de desafios, existe a opção de modificar a configuração do apt-get, para que ele utilize os repositórios do testing/unstable, ou seja, da versão de desenvolvimento do Debian, ou utilizar a versão de desenvolvimento do Kurumin 8 (mantenha-se informado através dos fóruns), que será baseado no Lenny, a próxima versão do Debian.

Além da linha de comando existem, naturalmente, programas gráficos que tentam facilitar a configuração, como o Synaptic, que abordo a seguir. A questão de facilitar ou não é, na verdade, polêmica, pois muita gente acha mais fácil trabalhar com o Synaptic, enquanto outros acham sua interface muito complicada e preferem continuar usando os comandos. Mas, de qualquer forma, ele não deixa de ser uma opção interessante.

Parte 2

Tutorial completo do apt-get

Carlos E. Morimoto
26/04/2007

Configurando os repositórios

O apt-get procura por pacotes em todos os endereços (chamados de repositórios) listados no arquivo “/etc/apt/sources.list“. Este é um simples arquivo de texto, onde os endereços são colocados um por linha. As linhas iniciadas com “#” são comentários, observações gerais que são ignoradas pelo programa. No Kurumin ele já vem configurado com os endereços dos repositórios do Debian e mais alguns programas disponíveis nos ícones mágicos, mas você pode editar o arquivo manualmente caso queira incluir algum endereço adicional, ou trocar o endereço de algum repositório que está fora do ar.
apt_html_m4c1c9d4e
Por exemplo, um dos repositórios usados por padrão no Kurumin é o Debian Multimedia (o antigo Marillat) que contém diversos pacotes, com codecs que oferecem formatos a diversos formatos de vídeo, programas para ripar CDs e DVDs e assim por diante.

Na época do Kurumin 6.0, quando o Sarge (a versão do Debian anterior ao Etch) foi lançado, a pasta que continha os pacotes do testing foi renomeada de “testing” para “etch”. Isso foi avisado no site do projeto, mas naturalmente o apt-get não tem como adivinhar a mudança sozinho. Isso fez que quem utilizava a versão com o sources.list antigo passasse a receber um erro como este ao rodar o apt-get update:

W: Não foi possível checar a lista de pacotes fonte ftp://ftp.nerim.net testing/main Packages (/var/lib/apt/lists/ftp.nerim.net_debian-marillat_dists_testing_main_binary-i386_Packages) – stat (2 Arquivo ou diretório não encontrado)

W: Você terá que executar apt-get update para corrigir esses arquivos faltosos

E: Alguns arquivos de índice falharam no download, eles foram ignorados ou os antigos foram usados em seu lugar.

A solução neste caso era simplesmente abrir o arquivo “/etc/apt/sources.list” e corrigir a linha, mudando de:

Para:

Erros similares são mostrados sempre que um dos endereços listados no sources.list estiver fora do ar, ou tiver mudado, como no caso do Marillat. Este tipo de problema é raro, mas pode acontecer. O melhor nestes casos é fazer uma visita ao fórum do Kurumin para se informar sobre as mudanças: http://www.guiadohardware.net/comunidade/v-f/9.

No Kurumin o arquivo vem comentado, permitindo que você veja a função de cada linha. Ele vai sendo atualizado conforme os endereços mudam ou conforme aparecem novos repositórios. Você pode baixar estas atualizações atualizando os scripts dos ícones mágicos, usando a opção “Ícones Mágicos > Ativar o apt-get > Atualizar scripts dos ícones mágicos”.

Normalmente, você não precisa se dar o trabalho de alterar este arquivo, mas não custa entender melhor como ele funciona. Vamos a um resumo rápido dos repositórios usados por padrão no Kurumin 7 e a função de cada um:

# Etch (atual stable, lançado 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 (contém o java, acrobat e outros pacotes “não livres”)
deb http://ftp.debian-unofficial.org/debianetch main contrib non-free restricted

# Debian Multimedia (pacotes do mplayer, vários codecs e outros pacotes)
deb http://www.debian-multimedia.org etch main

Todas as linhas começam com “deb”, seguido do endereço http do servidor onde os pacotes estão disponíveis. Em seguida temos listadas as pastas (dentro do servidor) que contêm os pacotes.

Esta configuração é necessária, pois o Debian é composto de três versões, que são desenvolvidas simultaneamente (Stable, Testing e Unstable), sem falar das versões antigas. O Kurumin 7 é baseado no Etch, que é a atual versão estável, lançada no final de 2006. Temos também o Lenny, que é a atual versão de desenvolvimento (testing), cujo lançamento está planejado para 2008, e o Sid, que é a eterna versão instável. Cada repositório inclui todas estas diferentes versões, de forma que é necessário especificar qual delas usar.

A linha “deb http://ftp.debian.org/debian etch main contrib non-free” adiciona o repositório principal, incluindo suas três subpastas. Em seguida, temos a linha “deb http://security.debian.org etch/updates main contrib”, que ativa o repositório com as atualizações de segurança. Este repositório é mantido por uma “força-tarefa” de desenvolvedores que disponibilizam rapidamente correções para problemas de segurança encontrados nos programas. Ele não possui mirrors e está disponível apenas para a versão estável.

As linhas seguintes incluem dois repositórios extras (o debian unofficial e o debian multimedia), que complementam os repositórios padrão, oferecendo codecs (como o pacote w32codecs, necessário para assistir vídeos .wmf, quicktime e outros formatos), aplicativos multimídia (como o Mplayer) e alguns programas proprietários, como o Acrobat Reader.

Outra configuração comum é com relação ao mirror do Debian que será usado. Existem vários mirrors disponíveis, diferenciados pelo código de país. A linha “deb http://ftp.debian.org/debianetch main contrib non-free”, usada por padrão, faz com que seja usado o servidor principal do Debian, que divide a carga com os demais. Mas você pode usar diretamente um servidor específico adicionando um código de país 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.

Não existe uma regra fixa para saber qual mirror será mais rápido. Pela lógica, o do Brasil seria sempre mais rápido, mas isso depende muito do horário, de qual operadora você usa e assim por diante. Em muitos casos, o dos EUA ou da Alemanha podem ser mais rápidos. O melhor é testar os três em diferentes horários e ver qual apresenta melhores resultados. Não se esqueça de rodar o “apt-get update” depois de cada alteração.

Note que esta configuração de país só vale para o repositório principal, que possui diversos mirrors justamente por receber um tráfego muito grande.

Usando o testing/Unstable

Se você gosta de viver no limite, pode mudar a configuração, de forma a utilizar a versão de desenvolvimento do Debian, o famoso testing/unstable, a mesma configuração que é usada nas versões de desenvolvimento do Kurumin.

Neste caso, você tem acesso às últimas versões dos programas, mas em troca não 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 gráfico deixar de abrir, ou mesmo o boot parar em algum ponto, devido a um erro em algum serviço importante. Quase sempre, os erros são facilmente contornáveis, mas você precisa ter paciência para procurar a solução. Definitivamente, não é para os fracos de espírito ;).

Para fazer a alteração, substitua todas as referências ao “etch” dentro do arquivo por “lenny”, que é a atual versão testing. Comente a linha do “security.debian” (as atualizações de segurança estão disponíveis apenas para as versões estáveis) e adicione a linha que ativa o uso dos repositórios do unstable. Depois das alterações, o arquivo ficará assim:

deb http://ftp.debian.org/debian lenny main contrib non-free

deb http://ftp.debian-unofficial.org/debianlenny 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

É recomendável usar os repositórios do Lenny (Testing) junto com os repositórios do Unstable, pois em muitas situações o testing fica com dependências quebradas (pacotes que precisam de outros que ainda não foram atualizados) e o apt resolve o problema automaticamente, baixando a partir do Unstable.

Ao alterar a versão usada por padrão no “/etc/apt/sources.list”, você deve alterar também 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 invés do Stable. Não se esqueça de rodar o comando “apt-get update” sempre que fizer alterações nos dois arquivos.

Embora não seja recomendável, você pode usar simultaneamente as linhas referentes ao Stable (etch) e ao Testing (lenny) simultaneamente. Neste caso, o apt-get vai usar por padrão o que estiver configurado no arquivo “/etc/apt/apt.conf”, mas você fica com os dois repositórios disponíveis e pode instalar um determinado pacote a partir do outro, usando o parâmetro “-t testing” (ou -t stable), como em:

# apt-get install -t testing abiword

Esta é uma forma de instalar versões recentes dos programas, a partir do Testing ou Unstable, sem precisar mudar o repositório padrão, mas nem sempre é uma boa idéia, já que misturar pacotes das duas versões pode levar a problemas se você não souber o que está fazendo. Muitos programas, como o BrOffice, Firefox/Iceweasel, Thunderbird/Icedove, Java, Skype e outros são relativamente independentes de outros pacotes instalados e quase sempre funcionam, independentemente da versão. Contudo, os programas do KDE, Gnome e as bibliotecas base do sistema possuem uma forte interdependência entre si, fazendo com que, muitas vezes, a única forma de instalar a versão mais recente de um programa simples, como o kedit ou o ksplash, seja atualizar todo o KDE, como neste exemplo:
apt_html_m780f7a74
Veja que algo aparentemente inocente está prestes a se transformar em um desastre de proporções bíblicas. Neste caso, estou usando o stable por padrão, mas estou pedindo para que o apt-get instale a versão mais recente do kedit a partir do testing. O kedit precisa das novas versões das bibliotecas do KDE, que por sua vez possuem um conjunto próprio de dependências e conflitos. Para fazer a atualização, o apt-get precisaria não apenas atualizar todo o KDE e outros pacotes relacionados, mas também remover um conjunto de programas aparentemente inocentes, incluindo o Amarok e o OpenOffice.

Como disse, forçar a instalação de pacotes de outras versões nem sempre é uma boa idéia. Preste atenção nas mensagens do apt-get e aborte em caso de problemas iminentes.

Usando o dpkg

O dpkg complementa o apt-get, permitindo instalar pacotes .deb baixados manualmente. Digamos que você tenha baixado, por exemplo, o arquivo “skype_1.2.0.18-1_i386.deb”, o pacote com o Skype, disponível no http://skype.com. Para instalá-lo, você usaria o comando:

# dpkg -i skype_1.2.0.18-1_i386.deb

Lembre-se de usar a tecla <TAB> para completar o nome do arquivo depois de digitar as primeiras letras.

Se você tiver uma pasta com vários pacotes (como o OpenOffice 2.0, por exemplo), pode instalá-los de uma vez usando o comando “dpkg -i *.deb”.

Se você receber erros de dependências, mas quiser forçar a instalação do pacote (geralmente não é uma boa idéia…), pode usar o comando “dpkg -i –force-all pacote.deb”. Neste caso, tome cuidado com versões antigas, pois este último comando não checa dependências nem conflitos, apenas instala tudo de uma vez, na marra, causando os mais diversos problemas.

Sempre, depois de instalar qualquer pacote usando o dpkg, rode o comando ” apt-get -f install” para que o apt-get possa verificar o que foi feito e corrigir qualquer problema que tenha aparecido durante a instalação. Em casos de pacotes quebrados ou conflitos, o apt-get sempre vai sugerir alguma solução, mesmo que ela seja simplesmente remover o novo pacote.

Pense no dpkg como uma espécie de ajudante do apt-get. Ele faz o trabalho braçal, mas não é bom em resolver problemas. É o apt-get que cuida das situações mais delicadas. Apele para a instalação manual usado o dpkg apenas como último recurso, para o caso de programas específicos, que não estejam disponíveis no apt-get.

O cache do apt-get

O apt-get salva uma cópia de todos os pacotes baixados, para uso posterior, dentro da pasta “/var/cache/apt/archives/“. A lista dos pacotes disponíveis (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 máquinas. Pense no caso de alguém que tem banda larga no trabalho, mas acessa via modem em casa, por exemplo.
apt_html_7d2413c8
Por outro lado, o cache tende a ficar grande com o passar do tempo e ocupar muito espaço no HD. Se você acessa via banda larga, este pode ser um gasto desnecessário. Existem duas opções para limpar a casa. A primeira, mais contida, é usar a opção:

# apt-get autoclean

Ela remove apenas pacotes antigos ou duplicados, mantendo só as versões mais recentes, que realmente têm chance de serem usadas. Para realmente eliminar todos os arquivos do cache, use o comando:

# apt-get clean

No caso do Kurumin, existe uma forma mais conveniente de fazer o backup e instalá-lo em outras máquinas, que é gerar um CD do Kokar. Você encontra esta opção dentro do “Painel de controle > Ícones Mágicos > Instalar ou gerar o CD do Kokar”.

O Kokar nada mais é do que um arquivo ISO, uma imagem com o conteúdo das duas pastas (junto com outros arquivos que os scripts dos ícones mágicos baixam para dentro da pasta “/packages/”), que pode ser gravada em CD ou DVD (de acordo com o tamanho) e instalada em outros micros.
apt_html_6b8ab5db
Uma observação importante é que, ao instalar o Kokar ou restaurar o backup do cache em outro micro, você não deve rodar o “apt-get update” até ter terminado de instalar todos os programas desejados a partir do cache. O motivo é simples: o apt-get sempre instala as versões mais recentes dos programas. Ao instalar o Kokar, são restaurados os arquivos da pasta “/var/lib/apt/lists/” da forma como estavam na outra máquina, fazendo com que o apt use os pacotes do cache. Ao rodar o apt-get update, você atualiza as listas, fazendo com que ele volte a baixar os pacotes mais recentes da internet.

Documentação

Depois de instalar um pacote que você não conheça, muitas vezes você vai ficar se perguntando: “O que faço agora?”. Afinal, a instalação é feita de uma forma quase automática pelo apt-get, muitas vezes ele já cuida também da configuração básica, mas o conhecimento necessário para usar o programa em questão já depende de você.

Depois de instalar qualquer pacote desconhecido, a sua primeira parada deve ser a página do desenvolvedor, onde você geralmente encontrará o manual e instruções de uso.

Outra opção é a pasta “/usr/share/doc/ “, onde cada pacote instala uma cópia da documentação disponível. Por exemplo, ao instalar o pacote raidtools (um conjunto de ferramentas para configurar um sistema Raid via software), é criada a pasta ” /usr/share/doc/raidtools/“, onde fica disponível o howto, um read-me, um quickstart e alguns exemplos de configuração.

Caso os arquivos estejam compactados, basta clicar com o botão direito sobre o arquivo e usar a opção “Extrair aqui” do Konqueror. Aproveite também para fazer uma pesquisa no Google. Como ele indexa vários grupos de discussão e grupos da usenet, você sempre encontrará uma grande quantidade de mensagens com problemas e soluções.

Parte 3

Tutorial completo do apt-get

Carlos E. Morimoto
26/04/2007

Resolvendo problemas com o apt-get

O apt-get é uma ferramenta desenvolvida para ser usada em servidores e outras aplicações importantes. Isto significa que ele foi desenvolvido para ser o mais confiável possível e nunca realizar nenhuma modificação potencialmente perigosa para o sistema, a menos que autorizado por você. Quando qualquer coisa inesperada acontece, ele pára e fica esperando sua confirmação antes de fazer qualquer outra coisa.

O problema desta abordagem é que às vezes um defeito em algum pacote ou um download corrompido pode fazer com que o apt fique “travado”, sem concluir a instalação de um determinado pacote por causa de um erro qualquer e sem aceitar instalar outros antes que o problema inicial seja resolvido.

Este tipo de problema é relativamente raro, mas pode acontecer. Veja um caso particularmente feio que aconteceu certa vez ao tentar atualizar o k3b usando o comando “apt-get install k3b”. Neste caso ele precisou atualizar algumas bibliotecas do KDE antes de atualizar o programa, mas uma delas estava com um defeito bobo que fazia ela tentar substituir duas associações de arquivos do K3B. Isto passaria despercebido se o apt-get não entrasse em pânico:

Descompactando substituto kdelibs-data …
dpkg: erro processando /var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb (–unpack):

tentando sobrescrever `/usr/share/mimelnk/application/x- cue.desktop’,
que também está no pacote k3b

dpkg-deb: subprocesso paste morto por sinal (Broken pipe)
Erros foram encontrados durante processamento de:
/var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

A partir daí o apt-get se recusava a instalar qualquer outro pacote, pois sempre tentava terminar a instalação do pacote “kdelibs-data” o que sempre acabava no mesmo erro. Como o tal arquivo a ser substituído não tem importância nenhuma, é apenas uma associação de arquivos, a solução foi simplesmente forçar a instalação do pacote kdelibs manualmente (usando o arquivo salvo na pasta com o cache do apt-get), usando a opção do dpkg que ignora erros:

# dpkg -i –force-all /var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb

Depois disso, bastou usar o comando “apt-get -f install” que conclui a instalação de todos os pacotes pendentes, incluindo a atualização do K3B, que era meu objetivo inicial. Lembre-se de que você pode usar o botão do meio para colar a localização do arquivo a partir da mensagem de erro, sem precisar ficar digitando tudo.

Dependendo da situação, você pode remover o pacote com problemas ao invés de forçar sua instalação. Isso é útil em casos de pacotes que realmente estão com problemas mais graves e estão bloqueando a instalação de outros. Neste caso, use o comando “dpkg -r”, como em:

# dpkg -r k3b

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 resolução de problemas do apt.

c) Caso ele não resolva, experimente usar o “dpkg -i –force-all” para forçar a instalação do pacote com problemas, como no meu exemplo, ou use o “dpkg -r pacote” caso prefira desistir da instalação.

d) Rode o comando “dpkg –configure -a“, que verifica pendências na configuração dos pacotes.

e) Rode novamente o “apt-get -f install “. Caso ele não resolva, experimente o “apt-get -f remove“, que tem uma função similar à do “-f install”, mas dá preferência a remover os pacotes com problemas, ao invés de tentar corrigir a instalação.

Chaves de autenticação

O GPG é um sistema de encriptação composto de duas chaves, uma chave pública, que é distribuída abertamente, e uma chave privada, que é secreta. A chave privada pode ser utilizada para “assinar” arquivos, cuja autenticidade pode ser comprovada usando a chave pública. Isto é feito através de um truque matemático: a chave privada é uma espécie de equação extremamente complexa, que embaralha o conteúdo dos arquivos. A chave pública é um antídoto para ela, que permite reverter os dados a seu estado original. Porém, é impossível descobrir o conteúdo da chave privada usando a chave pública e, devido à sua complexidade, é também impossível fazê-lo via força bruta.

A partir da versão 0.6, incluída no Debian Etch, o apt-get passou a operar em modo seguro, onde o desenvolvedor usa sua chave GPG privada para assinar seus pacotes e o apt-get usa a chave pública para verificar se o pacote que está sendo instalado não sofreu modificações. Este é um processo extremamente seguro, que visa ter certeza de que o pacote que está sendo instalado na sua máquina é exatamente o mesmo que foi disponibilizado pelo desenvolvedor, eliminando qualquer possibilidade de alguém de má-fé alterar o conteúdo pelo caminho.

Este é um nível se segurança que não possui similar no mundo Windows. Mesmo que alguém consiga invadir o servidor onde os pacotes estão hospedados, ou consiga dar upload de pacotes falsos usando uma senha roubada, não terá como falsificar também a assinatura dos pacotes, fazendo com que você seja avisado ao tentar instalar e o problema seja detectado instantaneamente.

A desvantagem é que isto tornou o uso do apt um pouco mais complexo, já que agora, além de rodar o “apt-get update” para atualizar a lista dos pacotes, você precisará muitas vezes atualizar também a lista com as chaves públicas, usadas para verificar os pacotes. Naturalmente, o apt-get já vem corretamente configurado tanto no Kurumin 7, quanto no Debian Etch, mas é importante entender como o sistema funciona para poder corrigir os pequenos problemas que eventualmente podem surgir.

Em primeiro lugar, a nova versão do apt usa o “gnupg” para fazer a verificação das chaves, por isso é importante que este pacote nunca seja removido do sistema. Se você estiver atualizando alguma instalação antiga, não esqueça de instalá-lo.

Sempre que você adicionar novos repositórios do arquivo “/etc/apt/sources.list“, passará a receber um erro como este ao rodar o apt-get update:

Lendo lista de pacotes… Pronto

W: GPG error: http://www.debian-multimedia.org etch Release: As assinaturas a seguir não puderam ser verificadas devido a chave pública não estar disponível: NO_PUBKEY 07DC563D1F41B907

Aqui o apt-get está reclamando que não possui a chave de verificação para o endereço que você acabou de adicionar, de forma que não tem como verificar a autenticidade dos pacotes. Se você tentar instalar qualquer coisa a partir dele, recebe uma mensagem como:

AVISO: Os pacotes a seguir não podem ser autenticados!
Mplayer-nogui
Instalar estes pacotes sem verificação [s/N]?

Note que você consegue fazer a instalação normalmente se pressionar “s” (o default é N, de forma que se você simplesmente pressionar Enter, aborta a instalação), mas estas mensagens acabam se tornando irritantes.

Para resolver o problema definitivamente, basta adicionar a chave, cuja identificação são os 8 dígitos finais do número fornecido na primeira mensagem. No nosso caso, a mensagem é “NO_PUBKEY 07DC563D1F41B907 “, de forma que o número da chave é “1F41B907

Para adicioná-la, usamos os dois comandos abaixo, especificando o código de identificação:

# gpg –keyserver pgpkeys.mit.edu –recv-key 1F41B907
# gpg -a –export 1F41B907 sudo apt-key add –

O primeiro baixa a chave a partir do servidor público, enquanto o segundo a adiciona no gnupg. No Kurumin 7, você pode também usar o comando “k-add-key”, um script que inclui os dois comandos, como em:

# k-add-key 1F41B907

Continue adicionando as chaves até que o “apt-get update” seja concluído sem erros. Você precisa adicionar as chaves sempre que adicionar um novo repositório no arquivo “/etc/apt/sources.list”. Algumas das chaves possuem datas de validade, de forma que você pode precisar atualizá-las (usando o mesmo processo) a cada um ou dois anos. Você não precisa se preocupar muito com isso, pois o apt-get te avisa quando é hora de atualizar alguma das chaves :).

Outra dica é manter o relógio do micro com a data correta, pois caso o relógio esteja muito atrasado (com a data default que é usada ao resetar o CMOS usando o jumper na placa-mãe, por exemplo), o apt-get pode passar a exibir erros ao checar os pacotes devido a erros gerados pelo gpg, como em:

W: GPG error: http://archive.progeny.com sid Release: Unknown error executing gpg

A solução nesse casso é simplesmente acertar o relógio ;).

Se, por outro lado, você acha que o aumento na segurança não compensa a complicação, pode desativar o secure apt através de uma opção dentro do arquivo “/etc/apt/apt.conf“. Abra o arquivo como root e substitua a linha:

APT::Get::AllowUnauthenticated 0 ;

Por:

APT::Get::AllowUnauthenticated 1 ;

A partir daí, ele passa a exibir um aviso ao instalar cada pacote, avisando que eles não estão sendo autenticados, mas apesar disso baixa e instala todos os pacotes normalmente. Usando esta opção, você não precisa se preocupar em adicionar as chaves ao adicionar novos repositórios.

Parte 4

Tutorial completo do apt-get

Carlos E. Morimoto
26/04/2007

Usando o Synaptic

O Synaptic é uma interface gráfica, que facilita o uso do apt-get, permitindo atualizar o sistema, instalar e remover programas, ver detalhes sobre cada pacote entre outras funções, tudo dentro de uma interface gráfica relativamente simples de usar. Além do Kurumin, o Synaptic é usado também no Ubuntu, no Mandriva e em diversas outras distribuições. Uma curiosidade é que o Synaptic foi originalmente desenvolvido pela equipe do Conectiva. Só depois de algum tempo é que ele foi portado para o Debian e adaptado para ser usado em conjunto com o apt-get.

A parte que mais assusta ao abrir o Synaptic pela primeira vez é a quantidade de pacotes disponíveis, já que ele mostra todos os pacotes disponíveis em todos os repositórios ativados no “/etc/apt/sources.list” (ou seja, todos os mais de 20 mil pacotes do Debian!). Os pacotes estão, naturalmente, divididos em categorias. Clicando sobre os pacotes, você vê a descrição e, nas propriedades, pode ver mais detalhes, como os arquivos que fazem parte do pacotes e suas dependências, ou seja, quais outros pacotes serão instalados junto, caso resolva adicioná-lo.

Os pacotes com o quadrado em branco são os disponíveis para instalação, os com o quadrado verde são os já instalados na sua máquina e os com o quadrado verde com a estrelinha são os que estão instalados, porém possuem atualizações disponíveis.

O Synaptic permite marcar várias ações (instalar, remover e/ou atualizar vários pacotes de uma vez), por isso é interessante principalmente para quem gosta de deixar o micro ligado à noite baixando e instalando coisas. Assim como no Gparted, as modificações são realizadas de uma vez, ao clicar no “Aplicar”.
apt_html_35508f4a
Clicando no “Recarregar”, você atualiza a lista de pacotes disponíveis, equivalente a executar o “apt-get update”. Usando o “Marcar Todas as Atualizações”, você instala de uma vez todas as atualizações, o que inclui não apenas as atualizações de segurança, mas também todas as atualizações gerais, para todos os programas instalados. Esta opção equivale a usar o “apt-get upgrade” no terminal. Ele mostra a lista dos pacotes que serão atualizados e também de novos pacotes que serão instalados para satisfazer dependências relacionadas à safra de atualizações:
apt_html_mf884ca9
Clicando no “Marcar” ele agenda a atualização de todos os pacotes mostrados e volta à janela principal. Ao clicar no “Aplicar” as alterações são finalmente realizadas:
apt_html_m56b16f91
Uma das funções mais úteis do Synaptic é a função de busca, que permite que você consiga localizar pacotes mesmo quando tem apenas uma vaga idéia sobre o nome ou sua função. Você pode fazer buscas baseado em fragmentos do nome do pacote, descrição, versão ou dependências, ou até mesmo através do nome do mantenedor. A lista dos pacotes encontrados é mostrada na janela principal, onde você pode marcar quais quer instalar ou remover.
apt_html_m18a8c4cc
É possível também usar o próprio Synaptic para adicionar e remover fontes de atualizações, ao invés de ter de editar manualmente o “/etc/apt/sources.list”. Para isso, clique no “Configurações > Repositórios > Novo”.

Ao invés de simplesmente permitir que você inclua a linha que iria no sources.list, o Synaptic usa uma sintaxe um pouco diferente. No campo “URL” vai o endereço do repositório, como em “ http://ftp.debian-unofficial.org/debian/“. No campo “Distribuição” vai o nome da versão do Debian que está sendo usada, como em “etch” ou “lenny”. Finalmente, no terceiro campo vai a lista de pastas dentro do repositório que serão usadas, como “main contrib non-free restricted”.
apt_html_18b3b372
Esta opção de adicionar repositórios substitui a edição manual do arquivo “/etc/apt/sources.list”. Este exemplo que vimos acima, por exemplo, adicionaria a linha do Debian Unofficial (que vem ativado por padrão no Kurumin):

deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted

Entretanto, ao adicionar um novo repositório, você ainda vai precisar adicionar a chave de autenticação via linha de comando. O Synaptic avisa sobre o problema, mas não é capaz de baixar as chaves sozinho:
apt_html_m6171f7cf
Neste exemplo, preciso instalar a chave “6823D007”, referente ao debian-unofficial. Para isso, executo os comandos:

# gpg –keyserver pgpkeys.mit.edu –recv-key 6823D007
# gpg -a –export 6823D007 sudo apt-key add –

Ou, simplesmente:

# k-add-key 6823D007

Dentro dos menus você encontra mais algumas opções úteis. A opção “Editar > Solucionar Pacotes Quebrados”, por exemplo, equivale ao comando “apt-get -f install”, permitindo resolver automaticamente problemas causado pela instalação manual de pacotes com dependências quebradas.

A opção “Editar > Adicionar CD-ROM” permite que você adicione CDs ou DVDs de instalação do Debian como repositórios para o apt-get, de forma que o Synaptic instale pacotes a partir dos CDs ao invés de baixá-los da internet. Esta opção é útil se você usar o Kurumin 7, que é baseado no Etch e tem em mãos o conjunto de CDs ou DVDs de instalação do Debian Etch.

Se você acessa via proxy, pode configurar o Synaptic para utilizá-lo através do Configurações > Preferências > Rede.

Uma dica é que apenas uma instância do apt-get pode ser aberta de cada vez, pois a primeira instância trava o acesso à base de dados do apt, fazendo com que a segunda reclame dizendo algo como “Impossível obter trava exclusiva”. Ou seja, você não consegue abrir o Synaptic enquanto estiver fazendo alguma instalação via modo texto, nem consegue abrir duas ou mais instâncias simultaneamente.

Usando o Alien

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 fglrx_4_3_0-8.10.19-1.i386.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 desejado.

Em primeiro lugar, é necessário ter instalado um conjunto de compiladores, incluindo o gcc e g++, 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 de várias distribuições. No caso do Kurumin, você tem pré-instalados os compiladores mais usados e você pode instalar outros necessários através do Synaptic, ou manualmente através do apt-get.

Uma dica é que todos os pacotes cujo nome termina com “-dev” são justamente bibliotecas de desenvolvimento, que podem ser necessárias 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

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.

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

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 no 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 em um desktop, pois você não corre o risco de executar um arquivo simplesmente por clicar por acidente em um 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 em uma 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

apt_html_m1db80464
Na maioria 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. Use 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) para 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/. Veja mais sobre isso no artigo feito pelo Júlio C. B. Monqueiro, “ Repositórios no Mandriva Free 2007

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 install pacote” para instalar novos programas e “yum remove pacote” para remover. Existe ainda o comando “yum update“, que atualiza de uma vez todos os pacotes do sistema, de forma similar ao “apt-get upgrade”. No yum não existe necessidade de baixar uma lista de pacotes, como no “apt-get update”, pois ele faz isso automaticamente no início de cada operação. Assim como no urpmi, é possível adicionar repositórios extras, adicionando-os no arquivo ” /etc/yum.conf“.

Anúncios

Acções

Information

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s




%d bloggers like this: