Page 2 of 4

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 17.04.2013, 18:23
by Denniss
Die ExcludeList-SPs.txt ist auszuwerten beim download ohne Servicepacks und wird auch auf statisch definierte definierte Downloads angewendet. So verstehe ich zumindestens die Datei.
Torsten wird dir das sicherlich genauer erlären können.

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 17.04.2013, 21:14
by aker
Ich stimme Denniss zu. Die ExcludeList-SP geht über alles.

DownloadUpdates.cmd
Code: Select all
:EvalStatics
if "%EXC_SP%"=="1" (
  %SystemRoot%\system32\findstr.exe /L /I /V /G:..\exclude\ExcludeList-SPs.txt "%TEMP%\StaticDownloadLinks-%1-%2.txt" >"%TEMP%\ValidStaticLinks-%1-%2.txt"
  del "%TEMP%\StaticDownloadLinks-%1-%2.txt"
) else (
  ren "%TEMP%\StaticDownloadLinks-%1-%2.txt" ValidStaticLinks-%1-%2.txt
)
echo %DATE% %TIME% - Info: Determined static update urls for %1 %2 >>%DOWNLOAD_LOGFILE%


und DownloadUpdates.cmd

Code: Select all
set LINES_COUNT=0
for /F "tokens=1* delims=:" %%i in ('%SystemRoot%\system32\findstr.exe /N $ "%TEMP%\ValidStaticLinks-%1-%2.txt"') do set LINES_COUNT=%%i
for /F "tokens=1* delims=:" %%i in ('%SystemRoot%\system32\findstr.exe /N $ "%TEMP%\ValidStaticLinks-%1-%2.txt"') do (
  echo Downloading/validating update %%i of %LINES_COUNT%...
  for /F "tokens=1,2 delims=," %%k in ("%%j") do (
    [...]
    %WGET_PATH% -N -P ..\client\%1\%2 %%k


Viele Grüße

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 18.04.2013, 10:17
by WSUSUpdateAdmin
Moin!

Denniss wrote:Torsten wird dir das sicherlich genauer erlären können.

Naja, da die Service-Pack-URLs statisch definiert sind, hat man bei der Implementierung eines SP-Ausschluss-"features" ja eigentlich gar keine andere Möglichkeit, als dass diese eine Exclude-Datei "ExcludeList-SPs.txt" auch bzw. gerade auf die statischen Definitionen wirkt, während alle anderen für dynamisch ermittelte URLs bzw. für die ISO-Erstellung bzw. fürs (USB-)Kopieren sind.

Gruß
Torsten

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 18.04.2013, 11:29
by hhullen
WSUSUpdateAdmin wrote:Moin!

Denniss wrote:Torsten wird dir das sicherlich genauer erlären können.

Naja, da die Service-Pack-URLs statisch definiert sind, hat man bei der Implementierung eines SP-Ausschluss-"features" ja eigentlich gar keine andere Möglichkeit, als dass diese eine Exclude-Datei "ExcludeList-SPs.txt" auch bzw. gerade auf die statischen Definitionen wirkt, während alle anderen für dynamisch ermittelte URLs bzw. für die ISO-Erstellung bzw. fürs (USB-)Kopieren sind.

Gruß
Torsten


Fehler gefunden (der tauchte nur bei der x64-Version auf, was natürlich besonders faszinierend war): ein Mix von 2 bis 3 Fehlern im entsprechenden Abschnitt.

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 18.04.2013, 11:46
by hhullen
talou wrote:
ich habe mal die Downloads der Windows-Version von WSUSOU mit den Linux-Skripten verglichen.

[...]

3. Folgende Pakete werden nicht heruntergeladen
Code: Select all
WSUSOU_WIN/client/win/glb/capicom-kb931906-v2102_5891b5de8ce331dc998656e20f1ce0b795e88786.exe
WSUSOU_WIN/client/win/glb/directx_Jun2010_redist.exe
WSUSOU_WIN/client/win/glb/rootsupd.exe
WSUSOU_WIN/client/win/glb/rvkroots.exe
WSUSOU_WIN/client/win/glb/Silverlight.exe
WSUSOU_WIN/client/win/glb/Silverlight_x64.exe
Vermutlich wird static\StaticDownloadLinks-win-x86-glb.txt nicht korrekt ausgewertet (5 Files). Zusätzlich fehlt dann noch das capicom...

[...]


Auf welchem Weg wird die "capicom*.exe"-Datei gefunden und zum Download notiert?
Verbirgt es sich etwa in "package.xml"?

Die anderen 5 Dateien werden (inzwischen) brav gefunden ...

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 18.04.2013, 13:48
by WSUSUpdateAdmin
Moin!

hhullen wrote:Auf welchem Weg wird die "capicom*.exe"-Datei gefunden und zum Download notiert?
Verbirgt es sich etwa in "package.xml"?

Ja! :)
Vgl. http://trac.wsusoffline.net/browser/trunk/xslt/ExtractDownloadLinks-win-x86-glb.xsl.

Gruß
Torsten

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 18.04.2013, 14:13
by hhullen
WSUSUpdateAdmin wrote:Moin!

hhullen wrote:Auf welchem Weg wird die "capicom*.exe"-Datei gefunden und zum Download notiert?
Verbirgt sie sich etwa in "package.xml"?

Ja! :)
Vgl. http://trac.wsusoffline.net/browser/trunk/xslt/ExtractDownloadLinks-win-x86-glb.xsl.

Gruß
Torsten


Ok - gefunden und verarbeitet.

Gleich das nächste Problem:
zu
Code: Select all
xslt/ExtractDownloadLinks-win-x86-glb.xsl

und
Code: Select all
exclude/ExcludeList-win-x86.txt


gibt es kein x64-Gegenstück: was bedeutet das? Gelten diese Dateien nur für x86 oder (trotz des Namens) auch für x64?

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 18.04.2013, 15:08
by WSUSUpdateAdmin
Moin!

Ursprünglich diente ...\win\... als Sammelbecken für Dateien, die unter Windows 2000, XP und Server 2003 gleichermaßen benötigt wurden, das war sozusagen noch vor x64-Zeiten, daher gibt es auch kein Target "win-x64".
Aber, keine Regel ohne Ausnahme: Das CAPICOM-Update wird auch auf w2k3-x64-Systemen benötigt, und als Silverlight dazukam, habe ich nicht wegen einer x64-Datei alles umräumen wollen.
So wird also sowohl für x86- als auch für x64-Targets ausgeführt:

Code: Select all
for %%i in (wxp w2k3 w2k3-x64 w60 w60-x64 w61 w61-x64 w62 w62-x64) do (
  if /i "%1"=="%%i" (
    call :DownloadCore win glb x86 %SKIP_PARAM%
    if errorlevel 1 goto Error
  )
)


Gruß
Torsten

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 18.04.2013, 16:37
by hhullen
[win-x64]

WSUSUpdateAdmin wrote:Moin!

Ursprünglich diente ...\win\... als Sammelbecken für Dateien, die unter Windows 2000, XP und Server 2003 gleichermaßen benötigt wurden, das war sozusagen noch vor x64-Zeiten, daher gibt es auch kein Target "win-x64".
Aber, keine Regel ohne Ausnahme: Das CAPICOM-Update wird auch auf w2k3-x64-Systemen benötigt, und als Silverlight dazukam, habe ich nicht wegen einer x64-Datei alles umräumen wollen.
So wird also sowohl für x86- als auch für x64-Targets ausgeführt:

Code: Select all
for %%i in (wxp w2k3 w2k3-x64 w60 w60-x64 w61 w61-x64 w62 w62-x64) do (
  if /i "%1"=="%%i" (
    call :DownloadCore win glb x86 %SKIP_PARAM%
    if errorlevel 1 goto Error
  )
)




Ok - dann habe ich richtig vermutet ... kommt etwa so in die nächste "DownloadUpdates-sh"-Version.

Re: Vergleich: Windows-Version mit Linux-Skript

PostPosted: 19.04.2013, 09:24
by hhullen
talou wrote:Hallo zusammen,

ich habe mal die Downloads der Windows-Version von WSUSOU mit den Linux-Skripten verglichen. Zunächst fiel auf, dass sich die Verzeichnisgrößen doch sehr deutlich voneinander unterscheiden:

Code: Select all
WSUSOU-WIN: 3.682.740.308 Bytes
WSUSOU-LIN: 4.620.224.716 Bytes

Zunächst schien es, als würden nur dem WSUSOU-WIN Files fehlen, allerdings befinden sich in beiden Versionen Dateien, die in dem jeweils anderen Verzeichnis fehlen.

[...]

Vielleicht kann meine Untersuchung ja ein wenig zur Verbesserung des Linux-Skripts beitragen.



Sie hat geholfen - noch mal ganz vielen Dank!

Die Ergebnisse sind im "Trac" anguck- und abrufbar:
http://trac.wsusoffline.net/browser/trunk/sh

Sicherheitshalber sollten alle 3 Dateien von dort upgedatet werden, auch wenn "CreateISOImage.sh" sich nur ganz wenig geändert hat.

Vorsichtige Bitte an Dich und viele weitere Anwender: könntet ihr bitteschön mal ausprobieren, ob die alten Fehler beseitigt und keine neuen hinzugekommen sind?

Natürlich habe ich hier getestet, aber selbstverständlich habe ich nicht jede mögliche Kombination von Parametern ausprobieren können. Und - so meine langjährige Erfahrung - da bleibt immer wieder irgendein Fehler unentdeckt.