Tutorial completo do apt-get

Tutorial completo do apt-get

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.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X