Upgrade from beta to canary on CentOS

I’m stuck…

root@gilsvr:/software/Duplicati
$ l
total 92M
-rwxrw-r–. 1 gharari samba 7.2M Jan 21 2018 duplicati-2.0.2.1-2.0.2.1_beta_20170801.noarch.rpm
-rwxrw-r–. 1 gharari samba 2.1K Jan 28 2018 exclusions.txt
-rwxrw-r-- 1 gharari samba 7.7M Mar 11 2019 duplicati-2.0.4.5-2.0.4.5_beta_20181128.noarch.rpm
-rwxr----- 1 gharari samba 9.7M Jul 21 17:49 duplicati-2.0.5.1-2.0.5.1_beta_20200118.noarch.rpm
-rwxr----- 1 gharari samba 45M Aug 20 12:31 duplicati-master.zip
drwxr-x— 13 root root 4.0K Aug 20 12:32 duplicati-master
-rwxr----- 1 gharari samba 23M Aug 20 19:22 duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch.rpm

root@gilsvr:/software/Duplicati
$ rpm -Uvh duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch.rpm
error: Failed dependencies:
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch

root@gilsvr:/software/Duplicati
$ rpm -qa|grep rpmlib

root@gilsvr:/software/Duplicati
$ rpm -qa|grep -i duplicati
duplicati-2.0.5.1-2.0.5.1_beta_20200118.noarch

root@gilsvr:/software/Duplicati
$ rpm -ivh duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch.rpm
error: Failed dependencies:
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch

root@gilsvr:/software/Duplicati
$ yum list available rpmlib
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile

There was a past discussion here, but it’s unclear to me if there is actually a solution:

I’m the poster of the thread about this issue on Opensuse. As I have upgraded in the meantime from Opensuse 15.1 to 15.2, the issue is gone for me. It seems that the rpm package released with Opensuse 15.2 can now handle Zstd. I have marked my thread as “solved”.

However, I can’t tell for CentOS in this thread.

What is Zstd and what does it have to do with having the requirement for rpmlib? Thanks.

In my layman’s understanding:Because of the error message “Payload is Zstd” I suspect that the rpm package format used now for duplicati requires a new decompression method that the old rpmlib does not support. It seems to me that Opensuse 15.2 has now included this support.

I stand to be corrected.

1 Like

led me to

Bug 1823142 - rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed

and

NEW • Distribution Release: CentOS 8.2.2004

What CentOS are you on? If on CentOS 8, maybe that upgrade would solve this without much risk?

As an aside, I don’t know if the change to zstd compression was intentional or an inadvertent change resulting from an updated Fedora (maybe Fedora 31)? Maybe we ought to try to get rpm back to xz?

$ rpm -qp --qf ‘%{PAYLOADCOMPRESSOR}\n’ duplicati-2.0.4.38-2.0.4.38_canary_20191229.noarch.rpm
xz
rpm -qp --qf ‘%{PAYLOADCOMPRESSOR}\n’ duplicati-2.0.5.101-2.0.5.101_canary_20200123.noarch.rpm
zstd
$

Changes/Switch RPMs to zstd compression explains zstd advantages, mainly on decompression I think, however Fedora got ahead of Red Hat Enterprise Linux (and others) for awhile. I’m glad that’s being fixed, however I don’t know what else might bite in Beta if we stay zstd. Canary has a relatively small user base.

More info:

Bug 1715799 - Re-enable zstd compression support in RHEL-8 rpm

[CentOS-devel] CentOS 8 Stream: updated rpm, dnf, and systemd

Great detail. Thanks. I will look into an upgrade of the OS to 8 in the next couple of weeks. I’m on CentOS 7 updated within the last month.

For now, Duplicati Beta is functional for me. Whatever was hanging up my backups is no longer happening, so I am not urgently pressed to go to Canary, but I still would like to be able to in the future. I will post an update here when I move forward with anything. Thanks again.

FYI I tried to simply add what any missing compression rpms but that didn’t work… I wonder if there is a need to tell rpm explicitly that zstd is available and where to look for it?

root@gilsvr:/software/Duplicati
$ l
total 92M
-rwxrw-r--.  1 gharari samba 7.2M Jan 21  2018 duplicati-2.0.2.1-2.0.2.1_beta_20170801.noarch.rpm
-rwxrw-r--.  1 gharari samba 2.1K Jan 28  2018 exclusions.txt
-rwxrw-r--   1 gharari samba 7.7M Mar 11  2019 duplicati-2.0.4.5-2.0.4.5_beta_20181128.noarch.rpm
-rwxr-----   1 gharari samba 9.7M Jul 21 17:49 duplicati-2.0.5.1-2.0.5.1_beta_20200118.noarch.rpm
-rwxr-----   1 gharari samba  45M Aug 20 12:31 duplicati-master.zip
drwxr-x---  13 root    root  4.0K Aug 20 12:32 duplicati-master
-rwxr-----   1 gharari samba  23M Aug 20 19:22 duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch.rpm

root@gilsvr:/software/Duplicati
$ rpm -qp --qf ‘%{PAYLOADCOMPRESSOR}\n’ duplicati-2.0.5.1-2.0.5.1_beta_20200118.noarch.rpm
‘xzn’
root@gilsvr:/software/Duplicati
$ rpm -qp --qf ‘%{PAYLOADCOMPRESSOR}\n’ duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch.rpm
‘zstdn’
root@gilsvr:/software/Duplicati
$ which xzn
/usr/bin/which: no xzn in (/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/home/gharari/scripts:/home/gharari/bin:/usr/sbin:/bin:/usr/local/bin:/root/bin)

root@gilsvr:/software/Duplicati
$ which xz
/usr/bin/xz

root@gilsvr:/software/Duplicati
$ which zip
/usr/bin/zip

root@gilsvr:/software/Duplicati
$ rpm -qa|egrep -i "xz|zstd"
libzstd-1.4.5-3.el7.x86_64
xz-libs-5.2.2-1.el7.x86_64
xz-5.2.2-1.el7.x86_64

root@gilsvr:/software/Duplicati
$ yum list available *zstd*
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Determining fastest mirrors
 * base: mirror.den01.meanservers.net
 * centos-sclo-rh: mirrors.sonic.net
 * centos-sclo-sclo: mirrors.raystedman.org
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: mirror.den01.meanservers.net
 * nux-dextop: mirror.li.nux.ro
 * updates: repos-tx.psychz.net
Available Packages
libknet1-compress-zstd-plugin.x86_64                                                                     1.18-1.el7                                                                      epel
libzstd-devel.x86_64                                                                                     1.4.5-3.el7                                                                     epel
libzstd-static.x86_64                                                                                    1.4.5-3.el7                                                                     epel
php-zstd.x86_64                                                                                          0.9.0-1.el7                                                                     epel
php-zstd-devel.x86_64                                                                                    0.9.0-1.el7                                                                     epel
zstd.x86_64                                                                                              1.4.5-3.el7                                                                     epel

root@gilsvr:/software/Duplicati
$ yum install zstd libzstd*
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                                                                  |  18 kB  00:00:00
 * base: mirror.den01.meanservers.net
 * centos-sclo-rh: mirrors.sonic.net
 * centos-sclo-sclo: mirrors.raystedman.org
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: mirror.den01.meanservers.net
 * nux-dextop: mirror.li.nux.ro
 * updates: repos-tx.psychz.net
base                                                                                                                                                                  | 3.6 kB  00:00:00
centos-sclo-rh                                                                                                                                                        | 3.0 kB  00:00:00
centos-sclo-sclo                                                                                                                                                      | 3.0 kB  00:00:00
docker-ce-stable                                                                                                                                                      | 3.5 kB  00:00:00
epel                                                                                                                                                                  | 4.7 kB  00:00:00
extras                                                                                                                                                                | 2.9 kB  00:00:00
mono-centos7-stable                                                                                                                                                   | 2.9 kB  00:00:00
nux-dextop                                                                                                                                                            | 2.9 kB  00:00:00
updates                                                                                                                                                               | 2.9 kB  00:00:00
(1/5): updates/7/x86_64/primary_db                                                                                                                                    | 4.5 MB  00:00:00
(2/5): epel/x86_64/group_gz                                                                                                                                           |  95 kB  00:00:00
epel/x86_64/updateinfo         FAILED
https://mirrors.sonic.net/epel/7/x86_64/repodata/39992ea5beec37b8092b0caa1d478075a8531053111b4a1c713aad3302450bdd-updateinfo.xml.bz2: [Errno 14] HTTPS Error 404 - Not Found B  --:--:-- ETA
Trying other mirror.
To address this issue please refer to the below wiki article

https://wiki.centos.org/yum-errors

If above article doesn't help to resolve this issue please use https://bugs.centos.org/.

(3/5): centos-sclo-rh/x86_64/primary_db                                                                                                                               | 2.9 MB  00:00:00
(4/5): epel/x86_64/updateinfo                                                                                                                                         | 1.0 MB  00:00:00
(5/5): epel/x86_64/primary_db                                                                                                                                         | 6.9 MB  00:00:01
Package libzstd-1.4.5-3.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package libzstd-devel.x86_64 0:1.4.5-3.el7 will be installed
---> Package libzstd-static.x86_64 0:1.4.5-3.el7 will be installed
---> Package zstd.x86_64 0:1.4.5-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================
 Package                                           Arch                                      Version                                           Repository                               Size
=============================================================================================================================================================================================
Installing:
 libzstd-devel                                     x86_64                                    1.4.5-3.el7                                       epel                                     41 k
 libzstd-static                                    x86_64                                    1.4.5-3.el7                                       epel                                    335 k
 zstd                                              x86_64                                    1.4.5-3.el7                                       epel                                    583 k

Transaction Summary
=============================================================================================================================================================================================
Install  3 Packages

Total download size: 959 k
Installed size: 2.8 M
Downloading packages:
(1/3): libzstd-devel-1.4.5-3.el7.x86_64.rpm                                                                                                                           |  41 kB  00:00:00
(2/3): libzstd-static-1.4.5-3.el7.x86_64.rpm                                                                                                                          | 335 kB  00:00:00
(3/3): zstd-1.4.5-3.el7.x86_64.rpm                                                                                                                                    | 583 kB  00:00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                        1.4 MB/s | 959 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libzstd-devel-1.4.5-3.el7.x86_64                                                                                                                                          1/3
  Installing : libzstd-static-1.4.5-3.el7.x86_64                                                                                                                                         2/3
  Installing : zstd-1.4.5-3.el7.x86_64                                                                                                                                                   3/3
  Verifying  : libzstd-devel-1.4.5-3.el7.x86_64                                                                                                                                          1/3
  Verifying  : libzstd-static-1.4.5-3.el7.x86_64                                                                                                                                         2/3
  Verifying  : zstd-1.4.5-3.el7.x86_64                                                                                                                                                   3/3

Installed:
  libzstd-devel.x86_64 0:1.4.5-3.el7                               libzstd-static.x86_64 0:1.4.5-3.el7                               zstd.x86_64 0:1.4.5-3.el7

Complete!

root@gilsvr:/software/Duplicati
$ man rpm

root@gilsvr:/software/Duplicati
$ rpm -Uv --test duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch.rpm
error: Failed dependencies:
        rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch

This does seem to work though, so it appears rpm can decompress it enough to list contents…

root@gilsvr:/software/Duplicati
$ rpm -qp --dump ./duplicati-2.0.5.110-2.0.5.110_canary_20200810.noarch.rpm
/usr/bin/duplicati 277 1597070388 d35e6bbaa05aa92bfe98ba27a6d8c54f813927b1a59cfac6610ca7762baa838b 0100755 root root 0 0 0 X
/usr/bin/duplicati-cli 288 1597070388 3c17dd5019afc86e94b6eec2d272023f5e4b25e28786670b6bf3d5f8867e00d0 0100755 root root 0 0 0 X
...

Bug report filed