Page 1 of 2

Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 27.12.2017, 00:56
by AlBundy
Ich verwende folgendes Script um die aktuellen Downloads runterzuladen.
Code: Select all
#!/bin/bash

WSUSOFFLINE_DIR=/media/wsusoffline
[ -z "$WSUSOFFLINE_DIR" ] && WSUSOFFLINE_DIR=$(cd "`dirname $0`" ; echo $PWD)
DOWNLOAD_SCRIPT="$WSUSOFFLINE_DIR/sh/DownloadUpdates.sh"

DATE_START="`date`"

function die() {
    [ -n "$1" ] && echo "$1"
    exit 1
}

for l in deu; do
    echo "starting download of windows-updates (64bit, $l)"
    /bin/bash $DOWNLOAD_SCRIPT all-x64 $l /dotnet /msse /wddefs || die "error downloading windows-updates (64bit, $l)"
    echo "starting download of windows-updates (32bit, $l)"
    /bin/bash $DOWNLOAD_SCRIPT all-x86 $l /dotnet /msse /wddefs || die "error downloading windows-updates (32bit, $l)"
    echo "starting download of office-updates ($l)"
    /bin/bash $DOWNLOAD_SCRIPT ofc $l || die "error downloading office-updates ($l)"
done

DATE_END="`date`"
echo "started : $DATE_START"
echo "finished: $DATE_END"


Das dauert aber jedesmal ca. 8h.

Ist das normal?

Ich habe eine 200mbit Leitung (Pi kann aber nur 100).
Ordner ist ein NFS mount meines NAS.

Das müsste aber doch trotzdem schneller gehen oder?
Oder werden hier jedesmal auch die bereits vorhandenen Updates nochmal runtergeladen?

Al

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 27.12.2017, 03:07
by aker
Wäre es möglich den RasPi einmal bei der Arbeit in der Konsole zu beobachten, um die genaue "hängende" Funktion zu identifizieren?
Ich vermute, dass irgendein Rechenschritt (unabhängig vom eigentlichen Download) sehr lange braucht.

Viele Grüße

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 27.12.2017, 03:22
by AlBundy
Ich hab schon hin und wieder mal reingeschaut - konnte nur auf die schnelle nix finden.

Im top war hashdeep immer ganz gut mot dabei.

Wenn das nach einem download notwendig ist, ist das ja auch in Ordnung.

Was mich nur wundert, ist, dass jede Ausführung meines Skriptes so lange dauert.

Ich beginne jetzt nochmal von 0 und versuche mal mein Glück mit get-all-updates.bash - mal sehen, wie lange hier die erste Ausführung und die folgenden dauern.

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 27.12.2017, 13:43
by AlBundy
Erster Durchlauf, wo wirklich alles neu runtergeladen werden musste, dauert mit den neuen Skripten schonmal gleich lang.
Code: Select all
started : Mi 27. Dez 03:09:32 CET 2017
finished: Mi 27. Dez 10:22:03 CET 2017


Ein erneuerter Durchlauf gerade eben war in 5min fertig.
Code: Select all
started : Mi 27. Dez 13:46:23 CET 2017
finished: Mi 27. Dez 13:51:47 CET 2017

Hab in den Ausgaben aber auch häufig gesehen, dass da was übersprungen wurde, weil es innerhalb der letzten zwei Tage schonmal gemacht wurde

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 27.12.2017, 19:47
by AlBundy
Habe die Dateien im timestamps-Ordner gelöscht und nochmal das Skript angeworfen.
Code: Select all
started : Mi 27. Dez 14:06:09 CET 2017
finished: Mi 27. Dez 16:12:32 CET 2017


2h ist also schonmal besser als 8h, obwohl ich das trotzdem recht lang finde, da ja theoretisch nichts erneut runtergeladen werden musste.

Al

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 27.12.2017, 20:23
by Dalai
In Anbetracht der Tatsache, dass du Updates für alle Windows-Versionen und Architekturen laden lässt, halte ich das für realistisch. Schließlich läuft die Verifizierung der Updates jedes Mal, unabhängig davon, ob etwas heruntergeladen wurde. Je nachdem, was es genau für ein Raspi ist, dauert das Erstellen der Hashes aller Updatedateien eben...

Weiß nicht, ob die Linux-Skripte ein ebenso aussagekräftiges Log schreiben, aber selbst wenn nicht, kann man anhand der Ausgabe von ifconfig recht einfach herausfinden, ob und wieviel Volumen geladen wurde (natürlich nur sinnvoll, wenn in dem Zeitraum nichts anderes netzwerkmäßig aktiv ist).

Grüße
Dalai

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 28.12.2017, 00:34
by AlBundy
Ich hab einen Raspberry Pi 3.

Könnte vielleicht am hashdeep liegen - das braucht laut log hin und wieder ein paar Minütchen.

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 28.12.2017, 02:28
by hbuhrmester
Ich habe eine 200mbit Leitung (Pi kann aber nur 100).
Ordner ist ein NFS mount meines NAS.

Das müsste aber doch trotzdem schneller gehen oder?
Oder werden hier jedesmal auch die bereits vorhandenen Updates nochmal runtergeladen?


Wenn die Dateien auf einem lokalen Fileserver liegen, und wenn sie mit hashdeep überprüft werden sollen, dann müssen alle Dateien zweimal heruntergeladen werden – nicht aus dem Internet, aber eben vom lokalen Fileserver. Das kann dann schon dauern...

hashdeep berechnet dann für jede Datei drei Hashsummen: MD5, SHA-1 und SHA-256. Das ist auch aufwendig, und ich weiß nicht, wie gut ein Raspberry Pi sich dabei schlägt.

Das Ganze ist aber sowieso etwas "over-engineered", wie es im Englischen heißt:

Die Überprüfung der vorhandenen Dateien vor dem Download ist eigentlich überflüssig. Wenn es dabei, unter Windows, zu einem "File Integrity Verification Error" kommt, dann ist die Universallösung, einfach alle vorhandenen hashdeep-Dateien aus dem Ordner wsusoffline/client/md zu löschen. Diese Dateien werden nach dem Download aber sowieso gelöscht und neu angelegt.

Die Überprüfung nach dem Download hat schon seinen Zweck: Bei den meisten Sicherheits-Updates ist die SHA-1-Prüfsumme in den Dateinamen eingebettet, als eine Hexadezimalzahl von 40 Ziffern Länge. hashdeep berechnet den SHA-1-Hash neu, und dann kann man den berechneten Wert mit dem erwarteten Wert vergleichen. Das ist ein Integritätstest, der auch unter Linux funktioniert.

Ob man zusätzlich MD5- und SHA-256-Hashsummen braucht, ist wiederum eine andere Frage...

Der eigentliche Zweck dieser Prüfsummendateien ist aber, dass man die Updates vor der Installation noch einmal überprüfen kann, wenn man sie auf CDs oder DVDs gebrannt hat. Denn diese Medien sind notorisch unzuverlässig.

Überspringen lassen sich diese Berechnungen, indem man die Datei "preferences-template.bash" in "preferences.bash" umbenennt und dann eine Option ändert:

Code: Select all
# The creation and verification of an own integrity database with hashdeep
# can be skipped to make the script run faster.
use_integrity_database="disabled"


Irgendwann muss mich das wohl auch gestört haben.

Eine reine Überprüfung der Links mit wget oder aria2 dauert dagegen nur Sekunden.

Du kannst ja versuchen, den Netzwerkverkehr mit iftop zu überwachen:

atop zeigt an, welche Ressourcen auf dem Rechner gerade ausgelastet sind und das System bremsen können. Das kann die CPU sein, aber auch eine langsame USB-Schnittstelle oder das Netzwerk.

Grüße,
hbuhrmester

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 28.12.2017, 04:35
by AlBundy
preferences.bash angelegt
use_integrity_database="disabled" gesetzt
timestamps wieder gelöscht
Download der Updates gestartet
Ergrbnus:
Code: Select all
started : Do 28. Dez 03:34:08 CET 2017
finished: Do 28. Dez 03:53:55 CET 2017

Ich finde, dass sieht schon besser aus.

Danke für den Tipp.

Al

Re: Update dauert jedesmal ca. 8h (Raspberry Pi)

PostPosted: 28.12.2017, 10:09
by Denniss
Unter Windoofs prüft hashdeep mehrere Dateien gleichzeitig, Anzahl wohl bedingt durch die vorhandenen Prozessorkerne. Vielleicht kann man da auch was drehen so daß er nur einen Kern benutzt und die Dateien nacheinander abarbeitet.