Arch Linux e os Deltas de Pacotes

Publicado por edps em 18/04/2012

[ Hits: 7.425 ]

Blog: https://edpsblog.wordpress.com/

 


Arch Linux e os Deltas de Pacotes



E desta vez, finalmente consegui fazer os Deltas funcionarem no Arch Linux. Já tinha conhecimento dos mesmos, mas até então, nada!

De antemão, segue os créditos aos usuários @niquelnausea do Fórum Arch Linux Brasil, e ao amigo @rootgerr, que me contou a novidade:
A chave para o sucesso, é a inserção das linhas abaixo no arquivo "/etc/pacman.d/mirrorlist":

## Delta Archlinux.fr
Server = http://delta.archlinux.fr/$repo/os/$arch


E devemos habilitar a opção UseDelta em "/etc/pacman.conf":

# Misc options
UseSyslog
UseDelta
# CheckSpace
# VerbosePkgLists

TotalDownload


E especificamente para o meu caso, desabilitar os Repositórios do ARM (Arch RollBack Machine), passando a fazer uso dos repositórios tradicionais:

[core]
# SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[extra]
# SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

[community]
# SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist


Daí por diante, bastará um:

sudo pacman -Syu

Logs

Abaixo, vejam os Logs. O primeiro é uma simulação do 'sysupgrade' sem o uso dos Deltas. Para a atualização completa, seria necessário baixar 354,87 MB de dados:

sudo pacman-color -Su

:: Sincronizando a base de dados de pacotes...
--2012-04-08 21:29:04--  http://delta.archlinux.fr/core/os/i686/core.db
Resolvendo delta.archlinux.fr... 91.121.141.57
Conectando-se a delta.archlinux.fr|91.121.141.57|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 109196 (107K) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/core.db.part”

100%[============================================>] 109.196     7,90K/s   em 24s     

2012-04-08 21:29:29 (4,40 KB/s) - “/var/lib/pacman/sync/core.db.part” salvo [109196/109196]

--2012-04-08 21:29:29--  http://delta.archlinux.fr/extra/os/i686/extra.db
Resolvendo delta.archlinux.fr... 91.121.141.57
Conectando-se a delta.archlinux.fr|91.121.141.57|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 1502716 (1,4M) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/extra.db.part”

100%[============================================>] 1.502.716   5,69K/s   em 4m 28s  

2012-04-08 21:33:58 (5,48 KB/s) - “/var/lib/pacman/sync/extra.db.part” salvo [1502716/1502716]

--2012-04-08 21:33:58--  http://delta.archlinux.fr/community/os/i686/community.db
Resolvendo delta.archlinux.fr... 91.121.141.57
Conectando-se a delta.archlinux.fr|91.121.141.57|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 1741183 (1,7M) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/community.db.part”

100%[============================================>] 1.741.183   4,74K/s   em 5m 59s  

2012-04-08 21:39:58 (4,74 KB/s) - “/var/lib/pacman/sync/community.db.part” salvo [1741183/1741183]

--2012-04-08 21:39:58--  http://repo.archlinux.fr/i686/archlinuxfr.db
Resolvendo repo.archlinux.fr... 91.121.141.57
Conectando-se a repo.archlinux.fr|91.121.141.57|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 33702 (33K) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/archlinuxfr.db.part”

100%[============================================>] 33.702      3,92K/s   em 8,4s    

2012-04-08 21:40:13 (3,92 KB/s) - “/var/lib/pacman/sync/archlinuxfr.db.part” salvo [33702/33702]

--2012-04-08 21:40:13--  http://archstuff.vs169092.vserver.de/i686/archstuff.db
Resolvendo archstuff.vs169092.vserver.de... 62.75.169.92
Conectando-se a archstuff.vs169092.vserver.de|62.75.169.92|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 55629 (54K) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/archstuff.db.part”

100%[============================================>] 55.629      4,18K/s   em 13s     

2012-04-08 21:40:27 (4,25 KB/s) - “/var/lib/pacman/sync/archstuff.db.part” salvo [55629/55629]

--2012-04-08 21:40:27--  http://repo.herecura.be/herecura-stable/i686/herecura-stable.db
Resolvendo repo.herecura.be... 46.21.173.227
Conectando-se a repo.herecura.be|46.21.173.227|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 26621 (26K) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/herecura-stable.db.part”

100%[============================================>] 26.621      2,63K/s   em 9,9s    

2012-04-08 21:40:40 (2,63 KB/s) - “/var/lib/pacman/sync/herecura-stable.db.part” salvo [26621/26621]

--2012-04-08 21:40:40--  http://repo.herecura.be/herecura-stable/any/herecura-stable-any.db
Resolvendo repo.herecura.be... 46.21.173.227
Conectando-se a repo.herecura.be|46.21.173.227|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 9812 (9,6K) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/herecura-stable-any.db.part”

100%[============================================>] 9.812       4,41K/s   em 11s     

2012-04-08 21:40:54 (876 B/s) - “/var/lib/pacman/sync/herecura-stable-any.db.part” salvo [9812/9812]

--2012-04-08 21:40:54--  http://huulivoide.pp.fi/Arch/arch-fonts/arch-fonts.db
Resolvendo huulivoide.pp.fi... 195.170.137.244
Conectando-se a huulivoide.pp.fi|195.170.137.244|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 139636 (136K) [application/x-gzip]
Salvando em: “/var/lib/pacman/sync/arch-fonts.db.part”

100%[============================================>] 139.636     2,18K/s   em 59s     

2012-04-08 21:41:54 (2,30 KB/s) - “/var/lib/pacman/sync/arch-fonts.db.part” salvo [139636/139636]

--2012-04-08 21:41:54--  http://repo.ayatana.info/ayatana.db
Resolvendo repo.ayatana.info... 109.74.200.166
Conectando-se a repo.ayatana.info|109.74.200.166|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 62102 (61K) [text/plain]
Salvando em: “/var/lib/pacman/sync/ayatana.db.part”

100%[============================================>] 62.102      3,91K/s   em 47s     

2012-04-08 21:42:46 (1,30 KB/s) - “/var/lib/pacman/sync/ayatana.db.part” salvo [62102/62102]

--2012-04-08 21:42:46--  http://xyne.archlinux.ca/repos/xyne-any/xyne-any.db
Resolvendo xyne.archlinux.ca... 69.89.25.172
Conectando-se a xyne.archlinux.ca|69.89.25.172|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 15368 (15K) [text/plain]
Salvando em: “/var/lib/pacman/sync/xyne-any.db.part”

100%[============================================>] 15.368      1,25K/s   em 12s     

2012-04-08 21:43:00 (1,25 KB/s) - “/var/lib/pacman/sync/xyne-any.db.part” salvo [15368/15368]

--2012-04-08 21:43:00--  http://repo-ck.com/i686/repo-ck.db
Resolvendo repo-ck.com... 97.74.158.128
Conectando-se a repo-ck.com|97.74.158.128|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 12462 (12K) [text/plain]
Salvando em: “/var/lib/pacman/sync/repo-ck.db.part”

100%[============================================>] 12.462      5,31K/s   em 2,3s    

2012-04-08 21:43:03 (5,31 KB/s) - “/var/lib/pacman/sync/repo-ck.db.part” salvo [12462/12462]

--2012-04-08 21:43:03--  http://pkgbuild.com/~heftig/repo/i686/heftig.db
Resolvendo pkgbuild.com... 176.9.18.112, 2a01:4f8:150:1261::2
Conectando-se a pkgbuild.com|176.9.18.112|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 2717 (2,7K) [text/plain]
Salvando em: “/var/lib/pacman/sync/heftig.db.part”

100%[============================================>] 2.717       5,11K/s   em 0,5s    

2012-04-08 21:43:12 (5,11 KB/s) - “/var/lib/pacman/sync/heftig.db.part” salvo [2717/2717]

--2012-04-08 21:43:12--  http://dl.dropbox.com/u/11734958/i686/pfkernel.db
Resolvendo dl.dropbox.com... 107.22.172.16, 174.129.254.86, 23.21.242.170, ...
Conectando-se a dl.dropbox.com|107.22.172.16|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 11565 (11K) [application/octet-stream]
Salvando em: “/var/lib/pacman/sync/pfkernel.db.part”

100%[============================================>] 11.565      3,01K/s   em 3,7s    

2012-04-08 21:43:17 (3,01 KB/s) - “/var/lib/pacman/sync/pfkernel.db.part” salvo [11565/11565]

:: Iniciando atualização completa do sistema...
:: Substituir gnupg2 por core/gnupg? [S/n] s
atenção: mesa: ignorando atualização do pacote (8.0.1-2 => 8.0.2-1)
atenção: tint2-svn: local (648-1) é mais novo que archlinuxfr (646-1)
resolvendo dependências...
atenção: dependência cíclica detectada:
atenção: util-linux será instalado antes de sua dependência udev
procurando por conflitos inter-relacionados...

Alvos (122): audacious-3.2.2-1  audacious-plugins-3.2.2-1  aurora-13.0a2-0.20120407
             automake-1.11.4-1  avahi-0.6.31-2  bash-completion-1.99-2
             binutils-2.22-5  bluez-4.99-2  boost-libs-1.49.0-1.1
             chromium-18.0.1025.151-3  coreutils-8.16-2  curl-7.25.0-1
             dhcpcd-5.5.6-1  dirmngr-1.1.0-4  expat-2.1.0-1  feh-2.5-1  fftw-3.3.1-1
             filesystem-2012.2-4  flashplugin-11.2.202.228-1  fontsproto-2.1.2-1
             freetype2-2.4.9-2  garcon-0.1.11-1  gawk-4.0.1-1  gcc-4.7.0-3
             gcc-libs-4.7.0-3  git-1.7.10-1  glibc-2.15-10  gnome-doc-utils-0.20.10-1
             gnupg-2.0.19-1  gnupg2-2.0.18-1 [removal]  gnutls-3.0.18-1
             gpgme-1.3.1-4  grub2-bios-1:2.00beta3-1  grub2-common-1:2.00beta3-1
             gtk2-xfce-engine-2.99.2-1  gtk3-xfce-engine-2.99.2-1
             imagemagick-6.7.6.2-1  initscripts-2012.03.2-1  intltool-0.50.2-1
             kbproto-1.0.6-1  kde-l10n-pt_br-4.8.2-1  kdebase-dolphin-4.8.2-1
             kdebase-kdialog-4.8.2-1  kdebase-lib-4.8.2-1  kdebase-runtime-4.8.2-1
             kdelibs-4.8.2-1  kdemultimedia-kioslave-4.8.2-1  kmod-7-2  krb5-1.10.1-2
             libarchive-3.0.4-1  libburn-1.2.2-1  libdrm-2.4.33-1  libgpod-0.8.2-4
             libiodbc-3.52.8-1  libisoburn-1.2.2-1  libisofs-1.2.2-1
             libldap-2.4.30-1  libltdl-2.4.2-5  libmtp-1.1.2-2  libnotify-0.7.5-1
             libpng-1.5.10-1  libtool-2.4.2-5  libupnp-1.6.16-1  libxaw-1.0.10-1
             linux-3.3.1-1  linux-api-headers-3.3-1  linux-headers-3.3.1-1
             lirc-utils-1:0.9.0-15  lm_sensors-3.3.2-2  man-pages-3.38-1
             mercurial-2.1.2-1  mkinitcpio-0.8.6-2  mpg123-1.13.7-1
             notification-daemon-0.7.4-1  nvidia-295.33-2  nvidia-utils-295.33-1
             openssl-1.0.1-2  opera-11.62-1  oxygen-icons-4.8.2-1  p11-kit-0.12-1
             pcmciautils-018-4  pkgtools-24-1  pycups-1.9.61-1  qt-4.8.1-1
             raptor-2.0.7-1  recordproto-1.14.2-1  ristretto-0.3.6-1
             ruby-1.9.3_p125-4  scrnsaverproto-1.2.2-1  soundconverter-2.0.2-1
             syslinux-4.05-4  syslog-ng-3.3.4-5  system-config-printer-common-1.3.9-2
             system-config-printer-gnome-1.3.9-2  taglib-1.7.1-1
             thunar-volman-0.6.1-1  ttf-liberation-1.07.2-1  tumbler-0.1.24-1
             tzdata-2012c-1  udev-181-9  udisks-1.0.4-3  usb_modeswitch-1.2.2-2
             util-linux-2.21.1-2  virtualbox-4.1.12-1  virtualbox-additions-4.1.12-1
             virtualbox-modules-4.1.12-2  wine-1.5.1-1  xarchiver-0.5.2-5
             xcb-proto-1.7.1-1  xextproto-7.2.1-1  xfce4-power-manager-1.0.11-1
             xorg-luit-1.1.1-1  xorg-server-1.12.0.901-1
             xorg-server-common-1.12.0.901-1  xorg-setxkbmap-1.3.0-1
             xorg-xauth-1.0.7-1  xorg-xgamma-1.0.5-1  xorg-xhost-1.0.5-1
             xorg-xkbcomp-1.2.4-1  xorg-xmodmap-1.0.6-1  xz-5.0.3-2
             youtube-dl-2012.02.27-1

Tamanho Total Download:    234,37 MiB
Tamanho Total Instalado:   1209,02 MiB
Alteração no Tamanho:      -17,07 MiB

Prosseguir com a instalação? [S/n]


- Exemplificando

Vejam a economia (3,29MB), na atualização do navegador Opera:
Enquanto que da forma tradicional, seriam necessários 10,9MB: http://www.archlinux.org - Opera

Referências


Dica publicada em meu
Blog.

Outras dicas deste autor

Fedora: adicionando outras Distribuições Linux no Grub2

Iniciando o Compiz automaticamente no Debian

MOC (Music On Console)

Enlightenment no Debian Jessie

Driver Nvidia no Zenwalk 7.0

Leitura recomendada

Cups-pdf já é uma mão na roda? Que tal cups-para-qualquer-coisa?

Transparência com o Gnome e Compiz

Checagem da segurança de atualização do Debian pelo terminal

História do Linux - 1991 a 2003

Instalando pacote local com o YUM

  

Comentários
[1] Comentário enviado por albfneto em 18/04/2012 - 22:04h

sistema Delta funciona em varias distros: Gentoo, Sabayon, OpenSUSE (zypper) etc...

[2] Comentário enviado por removido em 18/04/2012 - 22:09h

No Gentoo, Debian e Fedora eu sabia e já fiz|faço uso, no Arch era meio que uma lenda, tipo não sabia onde estava o repositórios dos deltas, com essa dica do @niquelnausea ficou mamão-com-açucar.

Ontem mesmo no meu Debian SID haviam 160MB de downloads para um upgrade completo, com o uso dos deltas se eu baixei 30MB foi muito:

http://gnu2all.blogspot.com.br/2012/04/screenshot-debian-sid.html

[3] Comentário enviado por levi linux em 19/04/2012 - 12:16h

Parabéns. Excelente tutorial, bastante útil. Favoritado.

[4] Comentário enviado por removido em 19/04/2012 - 16:04h

Valeu Levi, thanks brother!

[5] Comentário enviado por removido em 20/06/2012 - 23:37h

Olá, Edinaldo

Eu procurei sobre esses pacotes delta no wiki do arch linux e pelo google e não encontrei uma definição para esse tipos de pacotes.
O que acontece é que fiquei interessado na economia de espaço e gostaria saber o que de fato esses deltas são.

Obrigado

[6] Comentário enviado por removido em 21/06/2012 - 19:36h

@Seninha;

a melhor explicação possível está na própria Arch Wiki:

https://wiki.archlinux.org/index.php/Deltup

de fato reduz bastante o download de pacotes, principalmente para quem usa KDE, Gnome, LibreOffice.

* mas também... a criação dos novos pacotes e a instalação dos mesmos demora bastante! nem se compara aos deltas do Debian ou Fedora.



Contribuir com comentário