Obteniendo "tamaño no coincidente" cuando se usa apt-get en múltiples paquetes

9

Tengo problemas para descargar varios paquetes usando apt-get. Hasta ahora, me he encontrado con esto con 'opencv' y 'gstreamer'. Con opencv, buscará varios archivos y luego regresará con el error a continuación. He intentado varios espejos diferentes y todos ellos error en el mismo archivo (s).

Do you want to continue [Y/n]? y
Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libopencvvideo2.3 i386 2.3.1-7 [106 kB]
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libopencv-video-dev i386 2.3.1-7 [129 kB]
Fetched 2,225 B in 0s (11.8 kB/s)        
Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video2.3_2.3.1-7_i386.deb  Size mismatch
Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb  Size mismatch
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Ejecuté 'apt-cache show libopencv-video *' y obtuve:

Package: libopencv-video2.3
Priority: optional
Section: universe/libs
Installed-Size: 277
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Science Team <[email protected]>
Architecture: i386
Source: opencv
Version: 2.3.1-7
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libopencv-core2.3, libopencv-imgproc2.3 (= 2.3.1-7), libstdc++6 (>= 4.1.1)
Filename: pool/universe/o/opencv/libopencv-video2.3_2.3.1-7_i386.deb
Size: 105756
MD5sum: b38c0f11f3856d62168b730522a9691b
SHA1: d45cd609ea497ae72858e0f5914134e124261f22
SHA256: 85e72311ede84efbdd17781cdb04f79818a28968c63f407df6c56efe7da5525e
Description-en: computer vision Video analysis library

Cuando comparo el tamaño de archivo reportado (105756) no coincide con el tamaño del paquete 'deb' cuando lo derribo con wget.

¿Alguna sugerencia para resolver este problema a menos que use wget en cada uno de los archivos fallidos e instalarlos manualmente?

Chris
fuente
Es 105756 Bytes donde 106 es kB, por lo tanto, 105.756 kB es 106 kB cuando se redondea. Que es aproximadamente lo mismo.
atenz
correcto, pero el tamaño del archivo (mismo archivo exacto) que descargo usando wget es 103kB. parece que el descriptor no se actualiza para que coincida con los archivos?
Chris
El tamaño descargado parece cambiar unos pocos o cientos de KB (+ o -) dependiendo del tamaño cuando se descarga en el almacenamiento local. Siempre pensé que era para CRC o FEC, pero luego me confundí acerca de la BASE en la que se almacenan los bits. Si es así, entonces no estoy seguro, probablemente alguien responderá.
atenz
Me pregunto si son paquetes corruptos. ¿no debería poder descargar (wget, etc.) y luego instalarlo usando "dpkg -i <package>" en ubuntu? Si es así, obtengo esto:
Chris
oot @ ubuntu: / home / sysadmin # dpkg -i libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb dpkg-deb: error: `libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0. 1_i386.deb 'no es un archivo de formato debian dpkg: error al procesar libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb (--install): subproceso dpkg-deb --control devuelto error estado de salida 2 Errores se encontraron durante el procesamiento: libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb
Chris

Respuestas:

18

Resulta que no hay un problema con apt-get sino con mi empresa. Existe una política de Internet que bloquea todas las palabras clave con 'video' en la url. Descubrí esto al ver el contenido de libopencv-video2.3_2.3.1-7_i386.debin /var/cache/apt/archives/partial. Contenía html del filtro web, avisándome de que estoy violando mi Internet, bla, bla, bla.

¿Quién hubiera sabido que su ingeniero de investigación principal habría aplicado una política tan trivial como esta?

Lección aprendida: solicite a su departamento de TI que proporcione un bloque de direcciones que estén exentas de políticas estúpidas y que les cobre el tiempo perdido por mí y por aquellos que intentan ayudar ...

Chris
fuente
77
Le suspiro. Tengo que amar a la gente de TI.
jrg
1
Los proxies / firewalls que devuelven HTML espurio con 200 OK en lugar de solo bloquear la conexión son los PEORES. :(
ish
¡Gracias, @Chris! Enorme ayuda. Ahora puedo dejar de preguntarme qué demonios estaba pasando.
hora de regreso el
Como principiante, tengo mucha curiosidad acerca de cómo llegó a esa solución (buscando /var/cache/apt/archives/partial). ¿Estaba en algún lugar de la página del manual de apt-get? ¿Encontró a alguien más que tenía el problema? ¿Algo más? Realmente me gustaría mejorar en la resolución de problemas sin Google cuando sea posible.
joshreesjones
@ mathguy54 Recibí el mismo error que el OP. Traté de visitar el enlace (usando el navegador o wget) y el archivo recibido era muy pequeño. Resulta ser htmlcon el mensaje "la url está bloqueada"
aiao
4

Tuve muchos de estos problemas y siempre me las arreglé para solucionarlos.

Por ejemplo:

Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb

En este caso, buscaría el paquete manualmente desde el servidor principal como:

wget http://archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb

Observe que eliminé las cosas del este de los Estados Unidos.

entonces solo corre:

sudo dpkg -i libopencv-video-dev_2.3.1-7_i386.deb

para instalar el paquete

Luego solo ejecuta el comando original que estabas intentando

Oscuridad
fuente
¿Por qué se atraganta apt? ¿Cuáles son las ramificaciones de descargar e instalar el paquete que se atascó?
NateS
1

Solucioné un problema de desajuste de tamaño al intentar actualizar owncloud. El problema era incorrecto ppa url.

Mi repositorio fue para xubuntu:

http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_15.04/Release

Cambiado a ubuntu apropiado:

http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_15.10/Release

Resumen: asegúrese de haber configurado correctamente las URL de ppa para su distribución y sabor de Ubuntu.

PeterM
fuente
0

Ok, he experimentado este mismo problema. En mi caso, fue un problema totalmente de mi propia creación. Estaba creando nuevos paquetes para un servidor de paquetes interno y simplemente reemplazando un paquete en el servidor cada vez sin incrementar los números de versión (solo yo sacando los archivos).

Mis investigaciones fueron como sigue ...

  • ejecuta el apt-cache showcomando - confirma el tamaño del archivo
  • tire con el archivo a mano: confirme que, de hecho, es un error.
  • compruebe manualmente el tamaño del archivo en el servidor de paquetes que coincide con la apt-cachesalida

Los pasos resultantes me llevan a concluir que mi extracción del .deb había sido almacenada en caché ... por nuestro servidor proxy (ejecutándose en modo transparente). Confirmé eso mirando los registros de proxy y de hecho estaba mostrando el caché "HIT"

¿La solución? ejecuta el wgetcomando nuevamente pero obliga al proxy a actualizarse

wget http://packages.example.com/pool/contrib/.../packagename.deb --no-cache

eso fue suficiente para que el proxy actualizara el archivo, en cuyo punto apt-getfuncionó normalmente.

Obviamente, es una mala forma de reemplazar un paquete sin cambiar el número de versión, pero es otra posible causa de este problema.

Vagnerr
fuente