Page 1 of 1

Community Edition 11.9.9: Versionsvergleich schlägt fehl

PostPosted: 04.06.2021, 12:46
by hbuhrmester
Community Edition 11.9.9 rerelease: Ein schneller Versionsvergleich schlägt fehl wegen inkonsistenten Zeilenenden in den Dateien SelfUpdateVersion-this.txt und SelfUpdateVersion-recent.txt

Ich habe gerade überprüft, wie gut das automatische Upgrade von vorherigen Versionen auf die jeweils letzten Versionen mit den Linux-Skripten funktioniert.

  • ESR-Version 11.9.7 auf 11.9.9 rerelease
  • ESR-Version 11.9.8 auf 11.9.9 rerelease
  • master-Version 12.4 auf 12.5.1 rerelease
  • master-Version 12.5 auf 12.5.1 rerelease

Mit den master-Versionen habe ich keine Probleme beim Upgrade gefunden.

Mit den ESR-Versionen habe ich inkonsistente Ergebnisse bekommen:

Beim ersten Aufruf des Skripts update-generator.bash wurden die beiden Dateien SelfUpdateVersion-this.txt und SelfUpdateVersion-recent.txt gelesen, um die Versionsnummer und den Typ der Installation genau vergleichen zu können. Beides war unterschiedlich, und die neue Version wurde erfolgreich installiert:


Code: Select all
Info: Searching for the installed version of WSUS Offline Update...
Info: Recomparing WSUS Offline Update versions:
Info: - Installed version: 11.9.9 rerelease
Info: - Available version: 11.9.9 rerelease
Info: The most recent version of WSUS Offline Update was installed successfully



Beim zweiten Aufruf des Skripts wurden die Dateien SelfUpdateVersion-this.txt und SelfUpdateVersion-recent.txt nicht in einzelne Variablen ausgelesen, weil eine Same-Day-Regel angewendet wurde.

Trotzdem wurden die beiden Dateien noch einmal mit diff verglichen, für einen "Schnelltest" vor dem Update der Konfigurationsdateien (SDD). Dabei wurde ein Unterschied festgestellt:


Code: Select all
Info: Skipped searching for new versions of WSUS Offline Update, because it has already
been done less than one day ago

Warning: The update of configuration files was skipped, because the installed version
of WSUS Offline Update is not the latest available release.



Der Unterschied liegt offenbar in inkonsistenten Zeilenenden in den Dateien SelfUpdateVersion-this.txt und SelfUpdateVersion-recent.txt:

Code: Select all
SelfUpdateVersion-this.txt    17 Byte, Linux-Zeilenenden (LF)
SelfUpdateVersion-recent.txt  18 Byte, Windows-Zeilenenden (CRLF)



Unter Windows habe ich das Upgrade noch nicht verglichen. Jedoch hat auch das Skript CheckOUVersion.cmd einen vergleichbaren "Schnelltest" mit comp.exe:


Code: Select all
:justCheckForUpdates
if "%QUIET_MODE%"=="1" (
  %WGET_PATH% -q -N -P ..\static https://gitlab.com/wsusoffline/wsusoffline-sdd/-/raw/master/SelfUpdateVersion-recent.txt
) else (
  %WGET_PATH% -N -P ..\static https://gitlab.com/wsusoffline/wsusoffline-sdd/-/raw/master/SelfUpdateVersion-recent.txt
)
if errorlevel 1 goto DownloadError
if exist ..\static\SelfUpdateVersion-recent.txt (
  echo n | %SystemRoot%\System32\comp.exe ..\static\SelfUpdateVersion-this.txt ..\static\SelfUpdateVersion-recent.txt /A /L /N=1 /C >nul 2>&1
  if not errorlevel 1 goto Result_OK
) else (
  goto DownloadError
)


comp.exe macht laut Beschreibung einen byteweisen Vergleich. Das wird fehlschlagen, wenn schon die Länge der Dateien unterschiedlich ist.

Viele Grüße,
hbuhrmester

Re: Community Edition 11.9.9: Versionsvergleich schlägt fehl

PostPosted: 04.06.2021, 14:38
by boco
Why not using fc.exe? When using ASCII compare, it shows both files as being the same. Tested with 1 file 0x0D0A and 1 file 0x0A.

Re: Community Edition 11.9.9: Versionsvergleich schlägt fehl

PostPosted: 04.06.2021, 14:48
by aker
Ich vermute, dass es bei Windows gar keine Probleme gibt, da der entscheidende Vergleich durch ".\client\cmd\CompareVersions.vbs" durchgeführt wird.
comp.exe ist eigentlich nur vorgeschaltet, um identische Dateien vorher schon rauszufischen, und ist damit eigentlich unnötig...

In einem Test konnte ich bei einer 11.9.9esr auch keine Probleme feststellen.
Soll ich ein silent Update hochladen, um das Zeilenende zu ändern?

Viele Grüße

Re: Community Edition 11.9.9: Versionsvergleich schlägt fehl

PostPosted: 04.06.2021, 14:52
by Rush
aker wrote:Soll ich ein silent Update hochladen, um das Zeilenende zu ändern?

Ich sag mal ja :)

Re: Community Edition 11.9.9: Versionsvergleich schlägt fehl

PostPosted: 04.06.2021, 15:54
by hbuhrmester
Ich bin auch für ja.

Viele Grüße

Re: Community Edition 11.9.9: Versionsvergleich schlägt fehl

PostPosted: 05.06.2021, 15:03
by aker
Dann sei es so! 8-)

Re: Community Edition 11.9.9: Versionsvergleich schlägt fehl

PostPosted: 05.06.2021, 15:10
by boco
Ihr seid albern. :P