1 votos

Descarga de archivos muy grandes con HTTP

Estoy descargando el PlaceNet base de datos comprimida de imágenes de lugares (~132GiB). Por desgracia, el archivo descargado está dañado. Lo he intentado varias veces, cada vez la extracción se detiene en diferentes posiciones (los desplazamientos aproximados pueden ser de 10GiB, 30GiB, etc.) PlaceNet no proporciona versiones divididas para la descarga. Bueno, el problema debe ser algunos bytes en el archivo descargado, ¿Qué puedo hacer para evitar volver a descargar todo el archivo de nuevo?

Mis ideas son:

  1. ¿Existe una extensión TCP para una suma de comprobación de datagramas mejorada? ¿Y cómo utilizarla?

  2. ¿Puedo ver el desplazamiento (aprox.) del primer byte de error cuando gunzip ¿pinchazo?

  3. Estoy usando axel para descargar. Cuando se completa la descarga, ¿es posible volver a descargar algunas partes del archivo? Es decir, crear el XXX.st para axel, marque algún rango como no descargado, y ejecute axel de nuevo.

0voto

Andrea Lazzarotto Puntos 214

Puede intentar un enfoque diferente, es decir, utilizar una envoltura FUSE para "montar" un archivo remoto a través de HTTP e invocar herramientas estándar en él. Las herramientas tratarán de leer bytes específicos y esos intentos se traducirán en peticiones GET de rango de bytes HTTP.

Esto se ha discutido en StackOverflow, en esta gran respuesta por Adam que utiliza HTTPFS :

Monta un archivo zip remoto y extrae un archivo de él:

mkdir mount_pt
sudo ./httpfs http://server.com/zipfile.zip mount_pt
sudo ls mount_pt zipfile.zip
sudo unzip -p mount_pt/zipfile.zip the_file_I_want.txt > the_file_I_want.txt
sudo umount mount_pt

En su caso, si el archivo no es un ZIP sino, por ejemplo, un tar.gz (no puedo comprobarlo porque el enlace que has facilitado requiere registro) entonces podrías adaptar los pasos:

mkdir mount_pt
sudo ./httpfs http://example.com/file.tar.gz mount_pt
sudo tar xzvf mount_pt/file.tar.gz

O incluso llamar a file-roller u otra herramienta GUI en el archivo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X