Bei Verwendung von apt-get für mehrere Pakete wird eine „Größeninkongruenz“ angezeigt

9

Ich habe Probleme, mehrere Pakete mit apt-get herunterzuladen. Bisher bin ich mit 'opencv' und 'gstreamer' darauf gestoßen. Mit opencv werden mehrere Dateien abgerufen und der folgende Fehler zurückgegeben. Ich habe mehrere verschiedene Spiegel ausprobiert, die alle in derselben Datei (en) fehlerhaft sind.

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?

Ich habe 'apt-cache show libopencv-video *' ausgeführt und Folgendes erhalten:

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

Wenn ich die gemeldete Dateigröße (105756) vergleiche, stimmt sie nicht mit der Größe des 'deb'-Pakets überein, wenn ich es mit wget herunterziehe.

Irgendwelche Vorschläge zur Lösung dieses Problems, ohne wget für jede der fehlgeschlagenen Dateien zu verwenden und sie manuell zu installieren?

Chris
quelle
Es sind 105756 Bytes, wobei 106 kB ist, daher sind 105,756 kB 106 kB, wenn sie gerundet sind. Welches ist ungefähr gleich.
Atenz
Richtig, aber die Dateigröße der Datei (dieselbe exakte Datei), die ich mit wget herunterlade, beträgt 103 KB. scheint, dass der Deskriptor nicht aktualisiert wird, um mit den Dateien übereinzustimmen?
Chris
Die heruntergeladene Größe scheint sich je nach Größe beim Herunterladen auf den lokalen Speicher um einige oder hundert KB (+ oder -) zu ändern. Ich hatte immer gedacht, es sei für CRC oder FEC, war dann aber verwirrt über die BASE, in der Bits gespeichert sind. Wenn es so ist, dann bin ich mir nicht sicher, wahrscheinlich wird jemand antworten.
Atenz
Ich frage mich, ob es sich um beschädigte Pakete handelt. Sollte ich nicht in der Lage sein, (wget usw.) herunterzuladen und dann mit "dpkg -i <Paket>" auf Ubuntu zu installieren? Wenn ja, bekomme ich folgendes:
Chris
oot @ ubuntu: / home / sysadmin # dpkg -i libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb dpkg-deb: Fehler: `libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0. 1_i386.deb 'ist kein Archiv im Debian-Format. Dpkg: Fehlerverarbeitung libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb (--install): Unterprozess dpkg-deb --control hat den Fehler-Exit-Status 2 zurückgegeben wurden während der Verarbeitung angetroffen: libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb
Chris

Antworten:

18

Es stellt sich heraus, dass es kein Problem mit apt-get gibt, sondern mit meiner Firma. Es gibt eine Internetrichtlinie, die alle Keywords mit "Video" in der URL blockiert. Ich habe dies entdeckt, indem ich den Inhalt des libopencv-video2.3_2.3.1-7_i386.debIn angesehen habe /var/cache/apt/archives/partial. Es enthielt HTML aus dem Webfilter und gab mir einen Hinweis, dass ich gegen mein Internet verstoße.

Wer hätte gewusst, dass ihr leitender Forschungsingenieur eine so triviale Richtlinie angewendet hätte?

Lektion gelernt: Bitten Sie Ihre IT-Abteilung, einen Adressblock anzugeben, der von dummen Richtlinien ausgenommen ist, und diese für die von mir und denjenigen, die versuchen zu helfen, verschwendete Zeit zurückzurechnen ...

Chris
quelle
7
Le seufzt. Ich muss IT-Leute lieben.
jrg
1
Proxies / Firewalls, die falsches HTML mit 200 OK zurückgeben, anstatt nur die Verbindung zu blockieren, sind das SCHLECHTESTE. :(
ish
Danke, @Chris! Riesige Hilfe. Jetzt kann ich aufhören mich zu fragen, was zum Teufel los war.
Hourback
Als Anfänger bin ich sehr gespannt, wie Sie zu dieser Lösung gekommen sind (schauen Sie rein /var/cache/apt/archives/partial). War es irgendwo auf der apt-get-Handbuchseite? Haben Sie jemanden gefunden, der das Problem hatte? Etwas anderes? Ich möchte wirklich besser darin werden, Probleme ohne Google zu lösen, wenn dies möglich ist.
Joshreesjones
@ mathguy54 Ich habe den gleichen Fehler wie das OP. Ich habe versucht, den Link zu besuchen (mit dem Browser oder wget) und die empfangene Datei war sehr klein. Es stellt sich heraus, htmlmit der Nachricht "die URL ist blockiert"
aiao
4

Ich hatte viele dieser Probleme und konnte sie immer beheben.

Zum Beispiel:

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

In diesem Fall würde ich das Paket manuell vom Hauptserver abrufen, wie:

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

Beachten Sie, dass ich das US-Ost-Zeug entfernt habe.

dann lauf einfach:

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

um das Paket zu installieren.

Führen Sie dann einfach den ursprünglichen Befehl aus, den Sie versucht haben

Dunkelheit
quelle
Warum erstickt apt? Welche Auswirkungen hat das Herunterladen und Installieren des Pakets, an dem apt erstickt ist?
NateS
1

Ich habe ein Problem mit der Größeninkongruenz behoben, als ich versucht habe, owncloud zu aktualisieren. Problem war falsch ppa url.

Mein Repo war für xubuntu:

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

Geändert zu richtigem Ubuntu:

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

Zusammenfassung: Stellen Sie sicher, dass Sie die URLs von ppa für Ihre Distribution und Ihren Ubuntu-Geschmack richtig eingerichtet haben.

PeterM
quelle
0

Ok, ich habe das gleiche Problem erlebt. In meinem Fall war es ein ganz eigenes Problem. Ich habe neue Pakete für einen internen Paketserver erstellt und jedes Mal ein Paket auf dem Server ersetzt, ohne die Versionsnummern zu erhöhen (nur ich habe die Dateien abgerufen).

Meine Untersuchungen verliefen wie folgt ...

  • Führen Sie den apt-cache showBefehl aus - bestätigen Sie die Dateigröße
  • Mit der Datei von Hand ziehen - bestätigen Sie, dass es sich tatsächlich um ein Missmatch handelt.
  • Überprüfen Sie manuell die Dateigröße auf dem Paketserver, die mit der apt-cacheAusgabe übereinstimmt

Die daraus resultierenden Schritte lassen mich zu dem Schluss kommen, dass mein Pull der .deb von unserem Proxyserver (der im transparenten Modus ausgeführt wird) zwischengespeichert wurde. Ich bestätigte dies durch einen Blick auf die Proxy-Protokolle und es wurde tatsächlich der Cache "HIT" angezeigt.

Die Lösung? Führen Sie den wgetBefehl erneut aus, erzwingen Sie jedoch die Aktualisierung des Proxys

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

Das war genug, um den Proxy dazu zu bringen, die Datei zu aktualisieren, an welcher Stelle apt-getnormal funktionierte.

Offensichtlich ist es eine schlechte Form, ein Paket zu ersetzen, ohne die Versionsnummer zu überschreiten, aber es ist eine weitere mögliche Ursache für dieses Problem.

Vagnerr
quelle