Linux – Escolhendo interface para download no wget

Um comando muito útil no Linux e que todo SysAdmin, desenvolvedor e usuário Linux usa ou já usou é o wget[link], um comando sensacional pra você fazer download de qualquer arquivo, pacote, aplicação via terminal, exato, sem precisar de interface gráfica.

Eu não venho neste artigo explicar sobre o wget, já existe bastante material na internet, além do mais,  o comando é simples.

bueno@svm10:~ $ wget http://aqui_o_site.com/download.iso

Você já estaria fazendo download do arquivo download.iso e uma barra de progresso é exibida logo abaixo.

Mas um caso curioso que venho expor é, imagina que você tenha 2 interfaces de rede ou até mais e todas com acesso a internet e você não quer baixar o pacote ou programa pela principal e sim em outra interface.

No meu caso foi até mais legal, se eu baixasse no modo normal, o link sairia pelas rotas do provedor da primeira interface, passaria por todos switchs, roteadores e afins e no final entraria pelo outro provedor e chegaria no servidor, mas eu sabia que a outra interface me deixaria baixar praticamente local.

Então encontrei a opção –bind-address em Download Options[link].

–bind-address=ADDRESS

When making client TCP/IP connections, bind to ADDRESS on the local machine. ADDRESS may be specified as a hostname or IP address. This option can be useful if your machine is bound to multiple IPs.

Show! Fecho.

Meu cenário atual era:

bueno@svm10:/tmp$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:89:3f:8d brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
   link/ether 00:A0:92:19:12:4c brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc state UP mode DEFAULT qlen 1000

bueno@svm10:/tmp$ ifconfig eth1
eth1      Link encap:Ethernet  Endereço de HW 08:00:27:89:3f:8d
          inet end.: 10.22.11.29  Bcast:10.22.11.254  Masc:255.255.255.0
          endereço inet6: :00A0:ff92:fe19:3f12:2d4c/64 Escopo:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
          pacotes RX:41636 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:24550 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:1000
          RX bytes:59769407 (59.7 MB) TX bytes:2134280 (2.1 MB)

Beleza, tenho duas interfaces de rede e uma bridge, e a que eu queria é a eth1.

bueno@svm10:/tmp$ wget http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso --progress=dot --bind-address=10.22.11.49
--2015-04-16 22:39:47--  http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso
Resolvendo releases.ubuntu.com (releases.ubuntu.com)... 91.189.92.151, 2001:7b8:3:37:213:136:29:219
Conectando-se a releases.ubuntu.com (releases.ubuntu.com)|91.189.92.151|:80... falhou: Não foi possível acessar o endereço requisitado.
Conectando-se a releases.ubuntu.com (releases.ubuntu.com)|2001:7b8:3:37:213:136:29:219|:80... falhou: Argumento inválido.

bueno@svm10:/tmp$ wget http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso --progress=dot --bind-address=10.22.11.29
--2015-04-16 22:39:53--  http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso
Resolvendo releases.ubuntu.com (releases.ubuntu.com)... 91.189.92.151, 2001:7b8:3:37:213:136:29:219
Conectando-se a releases.ubuntu.com (releases.ubuntu.com)|91.189.92.151|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 1044381696 (996M) [application/x-iso9660-image]
Salvando em: âubuntu-14.04.2-desktop-amd64.iso.4â


    50K .......... .......... .......... .......... ..........  0% 99,2K 2h57m
   100K .......... .......... .......... .......... ..........  0%  181K 2h29m
   150K .......... .......... .......... .......... ..........  0% 92,6K 2h38m
   200K .......... .......... .......... .......... ..........  0% 6,10M 2h6m
   250K .......... .......... .......... .......... ..........  0% 96,1K 2h15m
   300K .......... .......... .......... .......... ..........  0%  132K 2h14m
   350K .......... .......... .......... .......... ..........  0%  116K 2h15m
   400K .......... .......... .......... .......... ..........  0%  184K 2h11m
   450K .......... .......... .......... .......... ..........  0%  142K 2h9m
   500K .......... .......... .......... .......... ..........  0%  187K 2h6m
   550K .......... .......... .......... .......... ..........  0%  195K 2h3m
   600K .......... .......... .......... .......... ..........  0%  174K 2h1m
   650K .......... .......... .......... .......... ..........  0%  184K 1h59m
   700K .......... .......... .......... .......... ..........  0%  184K 1h57m
   750K .......... .......... .......... .......... ..........  0%  156K 1h56m
   800K .......... .......... .......... .......... ..........  0%  184K 1h55m
^C

Foi proposital na primeira linha eu passar o IP errado, pra ver o que aconteceria, e em seguida o IP correto da interface, e funcionou perfeitamente.

Uma conexão ruim, um modem 3G e outro link junto você tem mais uma opção para download com wget, por outras rotas/provedores.

Só que neste caso usei um link para download de uma iso do Ubuntu para exemplo.

Se notar o progresso do download mudou, o padrão é barras, eu mudei o progresso para dot em –progress=dot :)

Espero que tenham gostado.

Até a próxima!

 

Referências

http://www.gnu.org/software/wget/manual/wget.html

http://www.gnu.org/software/wget/manual/wget.html#Download-Options

Share Button

CC BY-NC-SA 4.0 Linux – Escolhendo interface para download no wget by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.