Nach Aktualisierung einer Firewall war es anschließend nicht mehr möglich Pakete / Programme von unseren Linux-Servern mittels apt-get zu installieren, bzw. herunterzuladen. Es erschien hierbei die Meldung:

debian_apt_get_size_mismatch

Fehlschlag beim Holen von http://...deb  Größe stimmt nicht überein

bzw.

Failed to fetch http://...deb  Size mismatch

 

Typische Lösungen für das vorliegende Problem sind die Bereinigung des Cache von apt-get:

apt-get clean
apt-get update

oder aber, wenn ein Proxy-Server mit aktiviertem Cache verwendet wird, muss der Proxy-Cache auf dem Proxy-Server geleert werden.

 

Beispiel bei squid3:

Config-Datei öffnen

nano /etc/squid3/squid.conf

Zeile mit cache_dir suchen :

cache_dir ufs /var/spool/squid3 2000 16 256

und ins hinterlegte Verzeichnis wechseln:

cd /var/spool/squid3

Mittels

ls -l

lassen wir uns die bestehende Struktur anzeigen:

debian_apt_get_cache_dir_squid3

Jetzt Squid3 beenden:

/etc/init.d/squid3 stop

und anschließend im Verzeichnis mit den Cache-Dateien alle Dateien und Verzeichnisse löschen (hier unbedingt sicherstellen, dass man im wirklich richtigen Verzeichnis ist):

rm -R *

Danach starten wir squid3 neu:

/etc/init.d/squid3 start

und sehen folgende Ausgabe (Beispiel mit dem vorherigen Löschen der Cache-Dateien):

debian_apt_get_restart_squid3.jpg

In meinem Fall war es jedoch die Firewall und keine der Varianten war die Lösung. Ich habe daher versucht das benötigte Paket mittels:

 apt-get download <Paketname>

herunterzuladen. Bei Erfolg wäre die Datei im Verzeichnis /var/cache/apt/archivies gewesen. Leider nein, daher die Variante mittels wget als direkten Download der Datei vom Server versucht:

debian_apt_get_wget_test.jpg

In meinem Fall lag nun eine entsprechend benannte Datei vor, der Inhalt jedoch sah wie folgt aus:

 

debian_apt_get_wget_test_02

Gegentest mit einem anderen System mittels Webbrowser:

debian_apt_get_browser_test

Somit hat die Firewall die Datei geblockt.

Jetzt muss zur Lösung entweder die Firewall entsprechend konfiguriert und ggf. der Proxy-Cache geleert werden.

Eine andere Möglichkeit ist jedoch die benötigte Datei über ein anderes System herunterzuladen und im Verzeichnis /var/cache/apt/archivies zu speichern. Anschließend erneut den Befehl zur Installation des gewünschten Paketes ausführen:

 apt-get install <Paketname>

Die letzte Variante konnte ich dabei schon erfolgreich verwenden, wo nur eine Datei als Abhängigkeit zu einer Installation von der Firewall geblockt wurde.

Advertisements