By BoLOBOOLNE payday loans

Presto! Atualize seu sistema num passe de mágica.

by LonelySpooky

De todas as fea­tu­res pro­me­ti­das para o Fedora 11 a que mais aguardo é o “Presto“1. Ape­sar do nome meio bob­nho a adi­ção do presto como um padrão no Fedora vai bene­fi­ciar a todos os usuá­rios com as mara­vi­lhas do Delta RPM — Enfim, vou poder parar de babar em cima do open­Suse, que já tra­zia o recurso há algum tempo.

O Delta RPM foi uma grande sacada dos enge­nhei­ros da Novell, eles pen­sa­ram: “Ei! Por que bai­xar o RPM inteiro toda vez que acon­tece um update? E se fosse pos­sí­vel bai­xar só a parte que teve update e juntá-la com o soft­ware a ser atu­a­li­zado?”. Pois fun­ci­o­nou. Um Delta RPM pode gerar eco­no­mias de mais de 90% em down­lo­ads (minha cone­xão de 300 Kb agradece).

Os usuá­rios do Fedora, na ver­dade, já podem tes­tar o Delta RPM há algum tempo (desde o Fedora 7 se não me engano), mas essa fea­ture sem­pre ficou meio “de lado”, como um tipo de recurso à moda “ama­nhã eu testo”.

A des­van­ta­gem de usar Delta RPM agora é que a pro­du­ção em massa de paco­tes ainda não come­çou e quase tudo estava limi­tado aos esfor­ços de Jonathan Die­ter que man­ti­nha os repo­si­tó­rios de Del­tas. Isso sig­ni­fica que os upda­tes em Delta podem demo­rar um pouco, mas sem­pre chegam.

Com apro­xi­ma­da­mente 200 usuá­rios usando o Presto atu­al­mente os resul­ta­dos não pode­riam ser mais posi­ti­vos. Usei durante mais de um ano (meio pre­o­cu­pado, devo con­fes­sar), mas tudo cor­reu sem problemas.

Com a che­gada do Presto, um desa­fio de infra­es­tru­tura come­çou no Pro­jeto Fedora: fazer com que cada RPM tenha sua con­tra­parte Delta da forma mais ele­gante pos­sí­vel. Para enten­der melhor, saiba que o Pro­jeto Fedora usa dois sis­te­mas para gerar seus paco­tes e orga­ni­zar tudo: Koji é o res­pon­sá­vel pela cons­tru­ção de paco­tes em todas as arqui­te­tu­ras e Bodhi, que é o res­pon­sá­vel por tes­tar cada pacote e dar-lhes des­tino para os repo­si­tó­rios cer­tos. Na fase atual, a equipe de infra está hac­ke­ando o Bodhi para que ele gere os del­tas e estão lidando com pro­ble­mas do tipo “Onde guar­dar os del­tas?” ou “Como gerar os del­tas? Na hora exata em que o RPM é feito ou fazer tudo de uma vez só depois?”. Além disso sur­giu um pro­blema de lógica. Vamos pen­sar o seguinte:

  • Saiu o soft­ware cha­mado generic-0.1;
  • Com o pas­sar do tempo ele sofre três atu­a­li­za­ções: generic-0.2, generic-0.3 e generic-0.4
  • Você, caro lei­tor, que é um cara ante­nado a gosta sem­pre de estar “na crista da onda”, vai ter seu soft­ware sem­pre atu­a­li­zado, por­tanto, estará usando o generic-0.4
  • Manoel, que não gosta de atu­a­li­zar ou que não atu­a­liza fre­quen­te­mente ainda está no generic-0.2, mas deci­diu atu­a­li­zar agora, direto do 0.2 pro 0.4.

Quan­tos Delta RPMs são pre­ci­sos gerar para garan­tir que seja pos­sí­vel atu­a­li­zar de todas as ver­sões para uma mais atual (não neces­sa­ri­a­mente A mais atual) sem excluir ninguém?

Entenda-se nessa ques­tão o seguinte: é pre­ciso garan­tir que exis­tam Delta RPMs para todas as pos­si­bi­li­da­des de atu­a­li­za­ção, logo, existe neces­si­dade de garan­tir que seja pos­sí­vel atu­a­li­zar de generic-0.1 para generic-0.2, de generic-0.1 para generic-0.3, de generic-0.1 para generic-0.4, de generic-0.2 para generic-0.3, de generic-0.2 para generic-0.4 e de generic-0.3 para generic-0.4 (sem excluir nenhuma possibilidade).

Se achou tudo isso muito com­pli­cado, basta dizer que para cada ver­são de um soft­ware, se ele tiver n ver­sões será pre­ciso gerar [pmath size=10](n^2-n)/2[/pmath] Delta RPMs. Ou seja: se o Fire­fox tiver 5 ver­sões nos repo­si­tó­rios vamos pre­ci­sar de[pmath size=10](5^2 — 5)/2 = 10[/pmath] Delta RPMs para ele.

A chance de tudo estar pronto para o Fedora 11 é grande (95% até o momento) e eu estou na tor­cida, acom­pa­nhando cada passo como se fosse o novo capí­tulo daquela novela mexi­cana favo­rita. =) Me deem um des­conto, cone­xão de 300 Kb…

Quer tes­tar o Delta RPM no seu fedora?

Ins­tale o plug-in:

# yum install yum-presto

Habi­lite o repo­si­tó­rio de Delta RPMs:

No Fedora 10 edite o arquivo /etc/yum.repos.d/fedora-updates.repo. Comente o mir­ror­list antigo e adi­ci­one este novo:

mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch

No Fedora 9 edite o arquivo /etc/yum.repos.d/fedora-updates-newkey.repo. Comente o mir­ror­list antigo e adi­ci­one este novo:

mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever.newkey&arch=$basearch
———————————-

  1. http://fedoraproject.org/wiki/Releases/FeaturePresto
Share

Creative Commons License
This work, unless otherwise expres­sly sta­ted, is licen­sed under a Cre­a­tive Com­mons Attribution-NonCommercial-ShareAlike 3.0 Unpor­ted License.

{ 1 trackback }

Delta RPMs fora do Fedora 11 | Lonely Spooky's Blog
5 de maio de 2009 às 9:58

{ 8 comments… read them below or add one }

1 Fabrício Godo 24 de fevereiro de 2009 às 14:31

Eu acho que a solu­ção para o Manoel seria o yum bai­xar auto­ma­ti­ca­mente os del­tas 0.3 e 0.4 e aplicá-las na ordem.

Responder

2 Rafael Gomes 24 de fevereiro de 2009 às 22:37

Real­mente é fas­ci­nante… Estou atu­a­li­zando meu Fedora agora e assim que fina­li­zar irei con­fi­gu­rar meu Delta RPM.

Eu ja tinha ouvido falar, mas nunca parei para con­fi­gu­rar, achei que ainda era muito ins­tá­vel e minha maquina de teste está com pro­ble­mas. sendo assim não que­ria fazer tes­tes em meu note de tra­ba­lho, mas irei tes­tar nele mesmo.

Obri­gado

Responder

3 Mythus 25 de fevereiro de 2009 às 10:56

Muito inte­res­sante a notí­cia. Em ultima ratio, o delta rpm é a sin­gu­la­ri­za­ção do con­teúdo dos rpms, não? Paco­tes de con­teúdo único.

Não ficou claro no seu exem­plo a frase: “Ape­nas no nosso exem­plo, 9 del­tas seriam neces­sá­rios”, ainda mais quando esta­mos tendo em mente ape­nas 4 ver­sões do mesmo pacote.

Para mim, sem­pre achei que os arqui­vos .conf deve­riam ser guar­da­dos em paco­tes iso­la­dos. Esses arqui­vos nunca ou quase nunca mudam. Nem duvi­da­ria que um generic-0.2, generic-0.3, generic-0.4, generic-1.1 e generic-1.2, tives­sem exa­ta­mente o mesmo /etc/generic.conf.

Responder

4 LonelySpooky 25 de fevereiro de 2009 às 12:44

Salve, Mitu­lino.
O delta rpm con­tém, na ver­dade, um “diff” entre o pacote antigo e o pacote novo. Quando ins­ta­lado, o Delta se “aplica” ao soft­ware exis­tente. Um Delta RPM é, sim­pli­fi­cando muito, um tipo de patch.

Responder

5 LonelySpooky 25 de fevereiro de 2009 às 16:22

Adi­ci­o­nei alguma mate­má­tica para maior enten­di­mento. Espero que me perdoem…

Responder

6 Mayck Xavier 27 de fevereiro de 2009 às 2:06

Cara###!!! Eu te disse que era assim que o Fore­sight atu­a­li­zava seus paco­tes e você falava “Mas aí tem que recom­pi­lar! Mas aí tem que blá-blá-blá!” Eu vou te bater! auhauhaua

Responder

7 LonelySpooky 3 de março de 2009 às 8:52

Hahaha Eu nem lem­brava disso. =P

Responder

8 Elder Marco 3 de março de 2009 às 20:36

Putz, mas se é dessa maneira, cres­cendo com n^2, eu acho que dará um tra­ba­lho danado! Mesmo sendo uma boa coisa para pes­soas com cone­xão lenta — embora isso não resolva o pro­blema de pes­soas com cone­xão dis­cada e julgo que deve­ria ter algo tam­bém no Fedora —, isso vale mesmo a pena dessa maneira, quer dizer, o quão viá­vel é isso?

Se deu certo antes, pode ser que dê agora.. :-)

Responder

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre user="" computer="" escaped="">

Previous post:

Next post: