yum-presto rules!!
Apr 6th, 2009 by diegobz
No Fedora 7, se não me falha a memória, foi disponibilizado para o yum um plugin chamado yum-presto. O presto tem como objetivo básico a economia de largura de banda ao atualizar o seu sistema. E você agora me pergunta:
Tu está há alguns meses na Grécia e já sabe falar grego?
Ok, está bem, eu explico:
Vamos supor que você queira atualizar seu Fedora 10. O sistema de gerenciamento de pacotes, através do PackageKit, lhe diz que há cerca de 300MB em pacotes a serem atualizados. No Fedora, isso é relativamente comum e eu diria que acontece quase toda semana.
Baixar 300MB em atualizações semanalmente não é nada legal para a maioria das pessoas e, de fato, isso não deveria funcionar dessa maneira. É aqui que o yum-presto entra!
A tecnologia por trás do yum-presto chama-se DeltaRPM. DeltaRPM não é nada mais nada mesmo que um diff entre pacotes RPM, por exemplo:
Django-1.0.2-1.fc10_1.0.2-2.fc10.noarch.drpm
Esse DeltaRPM (.drpm) contém a diferença entre as versões dos pacotes 1.0.2-1 e 1.0.2-2 do Django para o Fedora 10. Como esse pacote é um diff, ele é relativamente muito menor que qualquer um dos outros dois pacotes completos do Django.
Normalmente, ao atualizar seu sistema, o yum baixa as novas versões de pacotes disponíveis e os instala, sobrepondo os pacotes anteriores. Como o plugin yum-presto, o yum procura por DeltarRPMs, ao invés de RPMs, para cada pacote a ser atualizado, baixa os pacotes encontrados e reconstrói os novos RPMs, na sua maquina localmente.
Isso mesmo! Com o presto você baixa somente a diferença entre um pacote instalado na sua máquina e utiliza a versão instalada no seu sistema para reconstruir o RPM e atualizar seu sistema.
Drasticamente, a necessidade de baixas centenas de MB em atualizações não é mais necessária. Eu venho testando o yum-presto desde o Fedora 7 e incontáveis vezes tive uma economia de banda superior a 90%. Ou seja, ao invés de baixar 300MB em RPMs, eu baixei menos de 30MB em DeltaRPMs
Isso é simplesmente incrível. Mais incrível ainda é que o yum-presto estará oficialmente no Fedora 11. E você, de novo, me pergunta:
Isso existe desde o Fedora 7 e só no Fedora 11 vai ser amplamente utilizado?
Sim! Apesar de ser uma mão na roda para os usuários, o yum-presto requer muito mais trabalho por parte da infra-estrutura do Fedora. Agora, além de armazenar os RPMs é necessário armazenar todos os DeltaRPMs entre todas as atualizações feitas desde o lançamento de uma versão do Fedora. Para isso, até onde eu sei, os sistemas de empacotamento e atualizações do Fedora tiveram que sofrer alterações, o que não foi nada simples.
Aqui está minha ultima atualização do Fedora 10 (x86_64) usando o yum-presto:
Size of all updates downloaded from Presto-enabled repositories: 50M
Size of updates that would have been downloaded if Presto wasn’t enabled: 201M
This is a savings of 76 percent
Referência: https://fedorahosted.org/presto/
Fedora rules!!!