Baixando ISOs-Linux em altíssima velocidade

Baixar as ISOs de uma distro sempre foi algo devagar e ineficiente. Veja uma ferramenta que agiliza extremamente essa tarefa. Jigdo é direcionado para a distribuição e obtenção de ISOs de forma fácil, rápida e muito eficiente. Este artigo descreve porque você usar jigdo, como funciona e como usá-lo para obter e (maravilha!) fazer o update de uma ISO.

[ Hits: 45.558 ]

Por: Juliao Junior em 10/05/2008


Como Jigdo funciona



Você não precisa conhecer esta parte para baixar as ISOs, mas pode ajudar a desmistificar como o jigdo funciona. Se não estiver interessado em detalhes, pode passar diretamente para a próxima página.

Preparando a ISO para download

Uma imagem de CD é um sistema de arquivos chamado iso9660, mas aqui podemos falar tranquilamente em uma imagem de CD como sendo um arquivo grande chamado "imagem ISO" (cerca de 650 MB) que contém arquivos de várias filas. Por exemplo, se o CD contém um arquivo com 567 bytes chamado LEIAME, a imagem ISO pode conter o conteúdo do arquivo LEIAME entre as filas 20480000 e 20480567. Você pode visualizar uma imagem de CD como:

                --------------------------------------------------------
  ISO Image:    |xxxx| file-0 |xx| file-1 |xxx| file-2 |x| file-3 |xxxx|
                --------------------------------------------------------
As áreas "x" da imagem contém informações sobre diretórios, nomes de disco, blocos de boot etc.

Daí jigdo-file recebe dois inputs: a imagem de CD completa (portanto a ISO precisa já estar pronta) e um conjunto de arquivos que podem ou não estar na imagem. Veja uma visualização de um input para o jigdo-file:

                --------------------------------------------------------
  ISO Image:    |xxxx| file-0 |xx| file-1 |xxx| file-2 |x| file-3 |xxxx|
                --------------------------------------------------------

                     ----------  ----------              ----------
  Loose Files:       | file-0 |  | file-1 |              | file-3 | 
                     ----------  ----------              ----------
      
Como mágica, jigdo-file encontra quais entre os arquivos perdidos estão na ISO e suas filas dentro do arquivo ISO. Então, jigdo-file produz dois arquivos: um arquivo ".template" e um arquivo ".jigdo".

O arquivo template

Recebendo um input de uma imagem ISO e um conjunto de arquivos que podem ou não estar na imagem ISO, jigdo-file fornece como saída um arquivo .template para esta imagem ISO. Aqui está o formato do arquivo .template:

                 --------------------------------------------------------
   .template:    |xxxx| md5-0  |xx| md5-1  |xxx|cccccccc|x| md5-3  |xxxx|
                 --------------------------------------------------------
      
O programa jigdo-file identificou que os arquivos file-o, file-1 e file-3 estavam contidos na imagem ISO. Então removeu o conteúdo desses arquivos e substituiu o md5 'checksum' de cada arquivo (md-5-0, md5-1, etc).

O dado "x" (informação de diretórios, etc) dentro da ISO está comprimida e escrita no arquivo .template. Finalmente, qualquer arquivo dentro da ISO que não foi indicada como arquivos perdidos (como file-2) também é comprimido e escrito no arquivo .template. Este arquivo é mostrado como "c" na visualização do arquivo .template.

Arquivos perdidos fornecidos para o jigdo-file que não são encontrados na ISO (como file-4) são ignorados.

O arquivo .jigdo

Recebendo um input de uma ISO e um conjunto de arquivos perdidos que podem ou não estar na ISO, jigdo-file fornece como saída um arquivo .jigdo para esta ISO. Os arquivos .jigdo Debian são zipados (gzip), portanto é preciso usar zcat ou zless para visualizá-los. Veja como um arquivo .jigdo 'parece' após descomprimir:

md5-0=http://algum-mirror.org/file-0
md5-1=http://algum-mirror.org1/file-1
md5-2=http://algum-mirror.org2/file-2
md5-3=http://algum-mirror.org/file-3

O arquivo .jigdo simplesmente fornece um mapeamento entre o md5sum de um arquivo dentro de uma ISO e a URL de download deste arquivo. Existem outras coisas dentro do arquivo .jigdo, e se vou olhar dentro dele, verá que o arquivo .jigdo tem o mesmo formato de um arquivo .ini. Ele seria auto-explicativo, mas se quiser detalhes bem simples, veja a documentação do jigdo.

O formato mostrado acima não é extremamente parecido com o que você veria em um típico arquivo .jigdo, mas é muito próximo. Se desejar, olhe a seção [Section] no final do arquivo .jigdo, e verá exatamente qual é a diferença entre o real e o mostrado acima.

Baixando a imagem

Após usar o jigdo-file para gerar os arquivos .jigdo e .template para uma ISO, qualquer um pode usar jigdo-lite para baixar a imagem. O jigdo-lite baixa todos os arquivos de uma ISO Debian usando wget, junta-os e forma uma cópia da ISO original.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Por que usar Jigdo?
   3. O que é Jigdo?
   4. Como Jigdo funciona
   5. Baixando sua primeira imagem
   6. Atualizando sua ISO
Outros artigos deste autor

Aprenda Python - Guia "rápido"

APT - Fantástico gerenciador de pacotes

Python, o curso (parte 1)

Blender - Iniciante (parte 1)

Programação: Uso de funções

Leitura recomendada

CentOS 5 - Utilizando como desktop com o Fluxbox

Mantendo seus dados em segurança com o Keep

Packer - Instalando pacotes do AUR no Arch Linux

DNS BIND para integração em domínios AD (com Windows Active Directory ou Samba)

Instalando o Slackware sem sofrimento (parte 1)

  
Comentários
[1] Comentário enviado por michel5670 em 11/05/2008 - 12:49h

Colega muito bom este artigo estava precisando de uma ferramenta como está!!!
Obrigado pela dica

[2] Comentário enviado por anoob em 12/05/2008 - 09:14h

Eu tenho um cd do Etch rc1. Estou atualizando o mesmo com o Jigdo. Será que ele vai atualizar para o rc3?
Pq o Jigdo perguntou duas vezes pelo diretório do cdrom?
Grande trabalho amigo. Parabéns.

[3] Comentário enviado por juliaojunior em 12/05/2008 - 16:45h

"Será que ele vai atualizar para o rc3?" Resposta: o Jigdo toma como referência os repositórios do sources.list. Mas quando vc indica o mirror, ele toma os pacotes mais novos do mirror. Portanto, ele deve sim atualizar para a última versão disponível.

"Pq o Jigdo perguntou duas vezes pelo diretório do cdrom?" Resposta: vc já montou o dispositivo? (/dev/hdc ou coisa parecida) Dê atenção às mensagens impressas pelo programa. Geralmente são exclarecedoras quanto a qualquer situação.

[4] Comentário enviado por albfneto em 12/05/2008 - 21:30h

Olá, amigo. Interessante, gostaria de usar; Jigdo funcionaria em Gentoo ou Sabayon? Ou só com distros Fedora ou Debian?
Pode ser usado para criar uma cópia,imagem do meu próprio disco rígido, contendo meu linux todo configurado, para que eu possa re-instalar, sem usar DVD de instalação e precisando recofingurar tudo?
Obrigado.

[5] Comentário enviado por juliaojunior em 13/05/2008 - 00:03h

Ele pode ser usado com qualquer distro. Basta seguir as mesmas orientações deste artigo, trocando os pacotes correspondentes. No caso do Gentoo, pode pegar os fontes e compilar. Pelo menos eu acho:)

Quanto a fazer uma cópia do disco rígido, tem uma distro voltada para isso, muito boa e eficiente: Clonezilla. Pesquise aqui mesmo no VOL, e verá como é interessante e útil.

[6] Comentário enviado por dailson em 16/05/2008 - 09:37h

Parabéns Juliao

São estes tipos de artigos, que fazem o orgulho desta comunidade!!!
Ótima didática e conteúdo

Dailson Fernandes
http://www.dailson.com.br

[7] Comentário enviado por albfneto em 16/07/2008 - 20:22h

Julião, eu to usando Gigdo também. é mais rápido!
Para os que usam distro MANDRIVA, Gigdo para Mandriva:

http://rpmseek.com/rpm-pl/jigdo.html?hl=com&cs=jigdo%3APN%3A0%3A0%3A0%3A0%3A0&qDnStr=102&qArStr=0&qR...

Agora, no link abaixo, Gigdo para Mandriva, Para Fedoro e para REd-Hat:

http://rpmfind.net/linux/rpm2html/search.php?query=jigdo



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts