Boas práticas de download via terminal com o aria2


Numa dica curta, veremos como baixar grandes quantidades de dados com o aria2, de forma a não perdê-los em caso de interrupção do download, bem como, reduzir a escrita no disco.

Creio eu que o pacote aria2 está disponível na maioria das distribuições, então, tente instalá-lo, caso não consiga deixe um comentário que verei o que dá para ser feito, nas Debian-based o pacote chama-se aria2.

Dando uma pequena lida no help do programa encontrei opções interessantíssimas, a que falarei aqui é a –file-allocation que atinge principalmente donos de notebooks,discos ssds, etc, e que minimiza a escrita em disco usando a alocação dos dados a serem baixados, diz o help:

–file-allocation=METHOD Specify file allocation method.
‘none’ doesn’t pre-allocate file space. ‘prealloc’
pre-allocates file space before download begins.
This may take some time depending on the size of
the file.
If you are using newer file systems such as ext4
(with extents support), btrfs, xfs or NTFS
(MinGW build only), ‘falloc’ is your best
choice. It allocates large(few GiB) files
almost instantly. Don’t use ‘falloc’ with legacy
file systems such as ext3 and FAT32 because it
takes almost same time as ‘prealloc’ and it
blocks aria2 entirely until allocation finishes.
‘falloc’ may not be available if your system
doesn’t have posix_fallocate() function.

Possíveis valores: none, prealloc, falloc
Padrão: prealloc

* só peço que observem que antes de file-allocation são dois traços (- -), aqui separados porque o maldito do WordPress tende a criar travessões em seus lugares!

Em conjunto com a opção –file-allocation, usarei a opção -c (de continuar, assim como no caso do wget), então no exemplo abaixo demonstrarei o download da iso mais recente do Slackware Current 32Bits.

$ aria2c -c --file-allocation=falloc ftp://ftp.slackware.no/slackware/slackware-iso/slackware-current-iso/slackware-current-24_Mar_2015-DVD.iso
início do download...
início do download…

E ao concluir o download, verifico o hash md5 da iso baixada (isso o próprio programa já faz), mas mesmo assim segue:

$ md5sum -c CHECKSUMS.md5
término do download e verificação do md5
término do download e verificação do md5

Se fosse baixar essa mesma imagem .iso pelo wget, faria assim:

$ wget -c -T0 ftp://ftp.slackware.no/slackware/slackware-iso/slackware-current-iso/slackware-current-24_Mar_2015-DVD.iso

O exemplo acima permite recomeçar o download em caso de interrupção (-c) e continuaria tentando (-T0) até que o mesmo fosse concluído. Como viram não há equivalente a opção de alocação do espaço em disco do aria2.

Isso que falei é o mínimo que o aria2 pode lhe oferecer, pois existem opção de conexões simultâneas (que pro caso da iso do Slackware não rolava), download de torrents, enfim, uma série de coisas não passíveis de serem abordadas numa simples dica.

t+

Boas práticas de download via terminal com o aria2

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s