I tried to do a zypper dup today and it failed on about 5% of the packages with the error “rpmpkg: detected non-zero blob, trying auto repair”. I tried refreshing, cleaning, re-downloading, and installing the packages individually, but nothing seems to work. The broken packages include essentials like kernel-default.
localhost:/ # zypper ref
Repository 'Main Repository (NON-OSS)' is up to date.
Repository 'Main Repository (OSS)' is up to date.
Repository 'Main Update Repository' is up to date.
All repositories have been refreshed.
localhost:/ # zypper clean
All repositories have been cleaned up.
localhost:/ # uname -a
Linux localhost 5.5.9-1-default #1 SMP Thu Mar 12 06:33:05 UTC 2020 (70a6377) x86_64 x86_64 x86_64 GNU/Linux
localhost:/ # zypper in kernel-default
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
kernel-default-5.6.12-1.3
The following package requires a system reboot:
kernel-default-5.6.12-1.3
1 new package to install.
Overall download size: 77.3 MiB. Already cached: 0 B. After the operation, additional 164.5 MiB will be used.
Note: System reboot required.
Continue? [y/n/v/...? shows all options] (y):
Retrieving package kernel-default-5.6.12-1.3.x86_64 (1/1), 77.3 MiB (164.5 MiB unpacked)
Retrieving: kernel-default-5.6.12-1.3.x86_64.rpm ........................................................[done (1.6 MiB/s)]
Checking for file conflicts: ........................................................................................[done]
(1/1) Installing: kernel-default-5.6.12-1.3.x86_64 .................................................................[error]
Installation of kernel-default-5.6.12-1.3.x86_64 failed:
Error: Subprocess failed. Error: RPM failed: warning: rpmpkg: detected non-zero blob, trying auto repair
error: kernel-default-5.6.12-1.3.x86_64: install failed
Abort, retry, ignore? [a/r/i] (a):
These were reading file handle 4. Looked back for which file handle number 4 was. (search for " = 4" at the end of a line) Near the beginning you find it: