INICIANDO NO APT-GET [parte 2]

Tutorias diversos sobre serviços e aplicações em servidores Linux
Avatar do usuário
dougsky
Administrator
Administrator
Mensagens: 223
Registrado em: 10 Jun 2013 12:44
Localização: Lagoa Santa - MG
Idade: 47
Status: Offline

INICIANDO NO APT-GET [parte 2]

Mensagem por dougsky »

Parte 2

[glow=red,2,300]Configurando os repositórios[/glow]

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.

Imagem

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:

deb ftp://ftp.nerim.net/debian-marillat/ testing main
Para:

deb ftp://ftp.nerim.net/debian-marillat/ etch main
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.

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/debian etch 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/debian etch 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/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
É 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:

Imagem

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.

[glow=red,2,300]Usando o dpkg[/glow]

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.

[glow=red,2,300]O cache do apt-get[/glow]

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.

Imagem

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.

Imagem

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.

Fonte:.hardware.com.br


Voltar para “Tutoriais”