Conhecendo e usando o debdelta

Publicado por Francisco Raimundo da Silva em 04/05/2011

[ Hits: 8.067 ]

Blog: http://www.facebook.com/profile.php?id=100003055572272

 


Conhecendo e usando o debdelta



O debdelta é uma coleção de aplicativos projetada para computar mudanças entre pacotes Debian. Estas mudanças (que chamaremos "deltas") são similares à saída do programa "diff", que podem ser usadas para armazenar e transmitir somente as mudanças entre os pacotes Debian.

Esta coleção contém o "debdelta-upgrade", que transfere deltas e os usa para recriar todos os pacotes *.deb necessários para executar o "apt-get upgrade".

Debdelta está disponível como um pacote Debian, sendo escrito e mantido por Andrea Menucci, Andrea Menucci - debian.net. Embora na manpage se refira ao comando apt-get upgrade, serve também para apt-get dist-upgrade, aptitude upgrade ou safe-upgrade, pois atualiza o cache do apt em /var/cache/apt/archives.

Para instalá-lo basta um:

sudo apt-get install debdelta python-apt xdelta3 xdelta lzma bsdiff gnupg2 gnupg- agent

Depois de instalado basta invocar como root ou usando o sudo o comando:

# apt-get update && debdelta-upgrade && apt-get upgrade(dist-upgrade)

Para conexões lentas ou quando há limite de tráfego (como conexões 3G) é uma mão na roda, pois você usa menos a conexão para atualizar o sistema.

Há funcionalidade semelhante no Zypper do openSUSE.
E portage do gentoo/funtoo:
Vejam estes dois resultados:

Distro Aptosid:

# apt-get upgrade (sem debdelta)
61 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 5 não atualizados.
É preciso baixar 69,6 MB/69,6 MB de arquivos.


# apt-get upgrade (com debdelta)
61 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 5 não atualizados.
É preciso baixar 20,6 MB/69,6 MB de arquivos.


# apt-get upgrade (sem debdelta)
40 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 123 MB/123 MB de arquivos.


# apt-get upgrade (com debdelta)
40 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 48,3 MB/123 MB de arquivos.


Para criar deltas de pacotes (comando debdelta):

# debdelta pacote_versão_anterior.deb pacote_versão_atual.deb pacote.debdelta

Onde este último expressa as diferenças entre as versões deste pacote.

Para recriar o pacote atualizado usando pacote.debdelta (comando debpatch):

# debpatch -A pacote.debdelta pacote_versão_anterior.deb pacote_versão_atual.deb

Quando rodamos o comando debdelta-upgrade, o comando debpatch automaticamente roda sobre os pacotes *.deb em /var/cache/apt/archives, atualizando o cache. Vale ressaltar que nem todos os pacotes possuem *.debdelta, pois alguns não valem a pena serem criados e que estes são hospedados em um servidor.
Que são configurados na instalação /etc/debdelta/sources.conf.

É uma bela ferramenta e acredito que outras distros irão implementar um sistema semelhante para seus gerenciadores de pacotes, pois alivia a conexão dos usuários e dos servidores.

Abraços e Viva o Linux!

Outras dicas deste autor

Aplicativos no KDE/Plasma sem bordas a hora que você quiser

Kernel Liquorix: não dá o Boot [Resolvido]

Resolvido: su, sudo, kdesu e gksu não funcionam

Xorg não funciona mesmo com input-hotplug configurado

Gerenciadores de download para o Apt-fast

Leitura recomendada

Resolvendo (ou contornando) os problemas do GoogleEarth em Linux

UCWeb: navegador para Android

Instalando TeamViewer no Debian 12

Conheça a suíte de telecomunicações Jubarte

Instalando o Jude Community Edition no Linux

  

Comentários
[1] Comentário enviado por albfneto em 04/05/2011 - 10:08h

o sistema Delta refaz os pacotes só com as mudanças, faz uma espécie de "patch" do pacote, mudando só o necessário e com isso, economiza largura de banda. Muitas distros usam, Gentoo, OpenSUSE etc...

[2] Comentário enviado por chimico em 04/05/2011 - 13:27h

É isso mesmo albfneto, o delta cria patchs tanto de binários, quanto de sources e vi por estes dias que o projeto Resulinux liberou um xdelta de uma imagem iso, imagine só baixar 2MB para atualizar uma iso. Conheci o xdelta no Gentoo há três anos atrás, logo depois usei o openSuse e fiquei intrigado com as atualizações rápidas pelo Zypper. Comecei a procurar se existia algo parecido no Debian, quando conheci o debdelta. O pessoal nos fóruns do Arch parece querer implementá-lo também.
Obrigado pelo comentário!

[3] Comentário enviado por removido em 04/05/2011 - 18:46h

@chicotrance,

parabéns por sua dica, que diga-se de passagem deveria estar na categoria dos Artigos, dada a maior visibilidade daquela seção.

desde que você comentou comigo a respeito do debdelta venho utilizando-o constantemente seja em conjunto com o apt-fast (axel) ou o apt-proz (prozilla).

favoritado com certeza!

um abraço.

[4] Comentário enviado por chimico em 04/05/2011 - 19:57h

@edps

valeu brother, eu tava pensando que tinha sido reprovado.

Quanto ao apt fast, já experimentou usar o wget?

apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && cat apt-fast.list | xargs -l1 wget -c -t 0 --progress=dot --wait=5 --waitretry=5 --retry-connrefused --no-http-keep-alive --max-redirect=40

ou o aria2?

apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && cat apt-fast.list | xargs -l1 aria2c -j 5 -x 5 -m 0 --enable-http-keep-alive=true --enable-http-pipelining=true --human-readable=true

Aqui o wget é mais rápido e não tem downloads corrompidos, em relação ao axel ou o aria2

abraço

[5] Comentário enviado por removido em 04/05/2011 - 20:17h

que nada brother, está excelente!

sobre o wget de fato é verdade o que você disse e ele é justamente o que mais utilizo, principalmente no Arch Linux... o porque não sei, mas é muito comum os pacotes se corromperem, seja com o aria2 ou o axel e independente ao mirror selecionado. Já com o wget além de reiniciar onde parou dificilmente perco os arquivos.

valeu por compartilhar essas configs para o APT e isso já vale outra dica!

[]'s

Agora a pouco dando uma olhada no fórum do antiX, do qual faz parte o colega @clandestine:

http://www.vivaolinux.com.br/artigo/antiX-uma-distro-versatil/

Achei isso:

http://antix.freeforums.org/dica-debdelta-t2418.html
http://antix.freeforums.org/portuguese-f32.html



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts