I just tested it again with Debian 9 Stretch, but everything worked as usual. The file wsusscn2.cab was downloaded and extracted without problems:
- Code: Select all
Info: Extracting Microsoft's update catalog file (ignore any warnings about extra bytes at end of
file)...
../client/wsus/wsusscn2.cab: WARNING; possible 16064 extra bytes at end of file.
Extracting cabinet: ../client/wsus/wsusscn2.cab
extracting /tmp/download-updates.qQd9nxETfU/package.cab
All done, no errors.
Extracting cabinet: /tmp/download-updates.qQd9nxETfU/package.cab
extracting ../cache/package.xml
All done, no errors.
Info: The file package.xml was extracted successfully.
Neither cabextract nor 7z reported any errors with the intermediate file package.cab:
- Code: Select all
~/tmp$ cabextract -t package.cab
Testing cabinet: package.cab
package.xml OK c3e24425527db53f6bb4f7498287b15b
All done, no errors.
- Code: Select all
/tmp$ 7z t package.cab
7-Zip [32] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=de_DE.UTF-8,Utf16=on,HugeFiles=on,32 bits,1 CPU GenuineIntel (68A),ASM)
Scanning the drive for archives:
1 file, 10805888 bytes (11 MiB)
Testing archive: package.cab
--
Path = package.cab
Type = Cab
Physical Size = 10805888
Method = LZX:21
Blocks = 1
Volumes = 1
Volume Index = 0
ID = 0
Everything is Ok
Size: 90317070
Compressed: 10805888
The extracted file package.xml also looks complete, as judged by the opening and closing tags "OfflineSyncPackage":
- Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<OfflineSyncPackage xmlns="http://schemas.microsoft.com/msus/2004/02/OfflineSync" MinimumClientVersion="5.8.0.2678" ProtocolVersion="1.0" PackageId="1f166266-dcc8-4ad9-b881-20bc95432153" SourceId="cc56dcba-9026-4399-8535-7a3c9bed7086" CreationDate="2018-12-10T21:57:51Z" PackageVersion="1.1">
...
</OfflineSyncPackage>
The tested archive wsusscn2.cab was modified on 2018-12-11, 12:39 (GMT +1). The fingerprint in the file client/md/hashes-wsus.txt is:
- Code: Select all
482287090,74adff81dad821e924339e38d4ef4f94,15bd91feca483c476bd86238a4906bc3d13ec319,224c4491d766770d7a597509702944eb34418fe2b990b0a0edae5bd71de43b61,..\wsus\wsusscn2.cab
This means:
- Code: Select all
File size=482287090
MD5=74adff81dad821e924339e38d4ef4f94
SHA1=15bd91feca483c476bd86238a4906bc3d13ec319
SHA256=224c4491d766770d7a597509702944eb34418fe2b990b0a0edae5bd71de43b61
But right after the official patch day, which was yesterday, there may be broken or intermediate files in the content delivery network. This sometimes causes problems with the verification and extraction of the files. This is hardly ever reproducible, and the problems go away by itself after one or two days.
I think, that intermediate files can be identified by an ETag with the option W/. This means something like "the content is compatible but not binary identical". This may be used for blogs and forums. For example, this forum has some statistics about the number of visitors on each page. Then two downloads of the same page may be different, but if the main content – the articles on the page – is the same, then the page can be treated as identical for all practical purposes.
But such semantics would surely be wrong for the download of binary files. Thus, you could browse the download log for possibly broken files:
- Code: Select all
grep ETag download.log
The server response is printed for the virus definitions files and the WSUS catalog file wsusscn2.cab, because these files sometimes make problems.
I tested this on Debian 9 Stretch with the versions:
- cabextract 1.6-1+b1
- p7zip 16.02+dfsg-3+deb9u1
I don't know, if cabextract from Debian 10 Buster works differently, and you said, that you also tried version 1.6-1+b1 yourself.
But the file package.cab is only the first part of a multipart archive, and maybe cabextract 1.9-1 keeps searching for the remaining parts package2.cab to package64.cab. Then, if the problem persists, you could try adding the option -s:
- Code: Select all
-s When testing, listing or extracting cabinets which span multiple
files, only cabinet files given on the command line shall be
used.
e.g. try the command:
- Code: Select all
cabextract -s -F package.xml package.cab
Greetings,
hbuhrmester