`zypper update` stuck at some stage

I installed openSUSE Leap 15.6 with GNOME desktop in early October. While most things work well, including updates through YaST, I’m having issues with zypper update. When trying to update all packages using zypper update, it gets stuck at some stage here.


It either stucks at “building cache” or “refreshing service”.

I’ve checked the zypper log files but found no specific error messages - it simply appears to hang indefinitely. I’ve tried different networks and proxy configurations (including testing proxies in terminal and with sudo, which work fine), but the issue persists. I’ve searched online extensively but haven’t found similar cases. The problem has continued from October until now.

Hello and welcome to the openSUSE forums.

How exactly? Because when refreshing stops somewhere, then it should do the same using YaST > Software > Software Management.

And you seem to have some extra repositories. Can you please provide a list of them:

zypper lr -d

And please do not post screenshots when not needed. And showing CLI commands and output do not need screenshots :wink: Posting code or preformatted text - Using Discourse - Discourse Meta

I can’t really grasp what your meaning is here. I can just update normally using YaST. But zypper up can’t work.

I just didn’t realize this. Sorry.

The output is as follows:

# ~ zypper lr -d
#  | Alias                           | Name                                                                 | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                     | Service
---+---------------------------------+----------------------------------------------------------------------+---------+-----------+---------+----------+--------+-------------------------------------------------------------------------+---------
 1 | NVIDIA:repo-non-free            | repo-non-free (15.6)                                                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.nvidia.com/opensuse/leap/15.6                          | NVIDIA
 2 | microsoft-edge                  | microsoft-edge                                                       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://packages.microsoft.com/yumrepos/edge/                           | 
 3 | openSUSE-Leap-15.6-1            | openSUSE-Leap-15.6-1                                                 | No      | ----      | ----    |   99     | rpm-md | hd:/?device=/dev/disk/by-id/dm-name-ventoy                              | 
 4 | openSUSE:repo-non-oss           | repo-non-oss (15.6)                                                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss             | openSUSE
 5 | openSUSE:repo-non-oss-debug     | repo-non-oss-debug (15.6)                                            | No      | ----      | ----    |   99     | N/A    | http://cdn.opensuse.org/debug/distribution/leap/15.6/repo/non-oss       | openSUSE
 6 | openSUSE:repo-openh264          | repo-openh264 (15.6)                                                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://codecs.opensuse.org/openh264/openSUSE_Leap                       | openSUSE
 7 | openSUSE:repo-oss               | repo-oss (15.6)                                                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://cdn.opensuse.org/distribution/leap/15.6/repo/oss                 | openSUSE
 8 | openSUSE:repo-oss-debug         | repo-oss-debug (15.6)                                                | No      | ----      | ----    |   99     | N/A    | http://cdn.opensuse.org/debug/distribution/leap/15.6/repo/oss           | openSUSE
 9 | openSUSE:repo-oss-source        | repo-oss-source (15.6)                                               | No      | ----      | ----    |   99     | N/A    | http://cdn.opensuse.org/source/distribution/leap/15.6/repo/oss          | openSUSE
10 | openSUSE:update-backports       | update-backports (15.6)                                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://cdn.opensuse.org/update/leap/15.6/backports                      | openSUSE
11 | openSUSE:update-backports-debug | update-backports-debug (15.6)                                        | No      | ----      | ----    |   99     | N/A    | http://cdn.opensuse.org/update/leap/15.6/backports_debug                | openSUSE
12 | openSUSE:update-non-oss         | update-non-oss (15.6)                                                | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://cdn.opensuse.org/update/leap/15.6/non-oss                        | openSUSE
13 | openSUSE:update-non-oss-debug   | update-non-oss-debug (15.6)                                          | No      | ----      | ----    |   99     | N/A    | http://cdn.opensuse.org/debug/update/leap/15.6/non-oss                  | openSUSE
14 | openSUSE:update-oss             | update-oss (15.6)                                                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://cdn.opensuse.org/update/leap/15.6/oss                            | openSUSE
15 | openSUSE:update-oss-debug       | update-oss-debug (15.6)                                              | No      | ----      | ----    |   99     | N/A    | http://cdn.opensuse.org/debug/update/leap/15.6/oss                      | openSUSE
16 | openSUSE:update-sle             | update-sle (15.6)                                                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://cdn.opensuse.org/update/leap/15.6/sle                            | openSUSE
17 | openSUSE:update-sle-debug       | update-sle-debug (15.6)                                              | No      | ----      | ----    |   99     | N/A    | http://cdn.opensuse.org/debug/update/leap/15.6/sle                      | openSUSE
18 | packman                         | packman                                                              | Yes     | (r ) Yes  | Yes     |   90     | rpm-md | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.6/     | 
19 | repo-backports-debug-update     | Update repository of openSUSE Backports (Debug)                      | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/update/leap/15.6/backports_debug/          | 
20 | repo-backports-update           | Update repository of openSUSE Backports                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.6/backports/                | 
21 | repo-debug                      | Debug Repository                                                     | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/debug/distribution/leap/15.6/repo/oss/     | 
22 | repo-debug-non-oss              | Debug Repository (Non-OSS)                                           | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/debug/distribution/leap/15.6/repo/non-oss/ | 
23 | repo-debug-update               | Update Repository (Debug)                                            | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/debug/update/leap/15.6/oss/                | 
24 | repo-debug-update-non-oss       | Update Repository (Debug, Non-OSS)                                   | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/debug/update/leap/15.6/non-oss/            | 
25 | repo-non-oss                    | Non-OSS Repository                                                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.6/repo/non-oss/       | 
26 | repo-openh264                   | Open H.264 Codec (openSUSE Leap)                                     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://codecs.opensuse.org/openh264/openSUSE_Leap/                      | 
27 | repo-oss                        | Main Repository                                                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.6/repo/oss/           | 
28 | repo-sle-debug-update           | Update repository with updates from SUSE Linux Enterprise 15 (Debug) | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/debug/update/leap/15.6/sle/                | 
29 | repo-sle-update                 | Update repository with updates from SUSE Linux Enterprise 15         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.6/sle/                      | 
30 | repo-source                     | Source Repository                                                    | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/source/distribution/leap/15.6/repo/oss/    | 
31 | repo-update                     | Main Update Repository                                               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.6/oss                       | 
32 | repo-update-non-oss             | Update Repository (Non-Oss)                                          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.6/non-oss/                  | 

Have you tried to delete the cdn-Repos by:
zypper rm openSUSE-repos-Leap openSUSE-repos-Leap-NVIDIA

What’s the consequence of this deletion? I’m just very new to the openSUSE distro.

What you think as being “normally” might not be so to others. YaST is a general system management tool with many functions. We can guess that you use > Software, but then there are at least two “logical” possibilities in my opinion: “Online Update” (which will only update from the standard repos) and Software Management (where you can then walk several paths that could be described as “update”. As we can not look over your shoulder, we can only guess. And it is not a good idea to base advice on guesses.

No need to say “Sorry”. Like we, you are not clairvoyant, thus somebody has to tell you. :wink:

And yes, you have almost all repos double. So please follow @Sauerland .

I now see what did you mean now. I’ve only used “Online Update”. I haven’t tried anything with Software Management. I’ll try this one later and see if it works not well, either.

What does “follow” mean? Do you mean I can find how to delete the doubled ones from his posts?

That is fine, but as said, updates from, in your case, packman and microsoft-edge will not be installed then.
Thus your zypper dup is also correct (and there are ways to do that using YaST > Software > Software Management also).

Doing what he suggested. Those repos with Aliases starting with openSUSE: (#4 - #17) are duplicates of #19 - #32. They are installed by the Services that @Sauerland suggests to remove.

BTW, I am not sure about the NVIDIA one. Do you have an NVIDIA card and do you use it with NVIDIA non-free software?

And as last, you can always try

zypper -vvv up

to get more information.

That’s true. I’m using an NVIDIA GPU and I’d like to use its proprietary driver.

Do you mean the aliases are “duplications” and I need to remove them as said by @Sauerland ?

Nothing, because they are double…

If you have Nvidia graphc card, you can add the Repo without needing any service.

Correction! That should hav been zypper up !!

I’ve tried this and the output is as follows.

with proxy

➜  ~ sudo zypper -vvv up
Verbosity: 3
Initializing Target
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Checking whether to refresh metadata for repo-non-free (15.6)
Checking whether to refresh metadata for microsoft-edge
Checking whether to refresh metadata for repo-non-oss (15.6)
Retrieving: http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml ---------------------------[|]^C
Trying to exit gracefully...

➜  ~ sudo zypper -vvv up
Verbosity: 3
Initializing Target
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Checking whether to refresh metadata for repo-non-free (15.6)
Checking whether to refresh metadata for microsoft-edge
Checking whether to refresh metadata for repo-non-oss (15.6)
Checking whether to refresh metadata for repo-openh264 (15.6)
Retrieving: http://codecs.opensuse.org/openh264/openSUSE_Leap/repodata/repomd.xml -------------------------------------[|]^C
Trying to exit gracefully...

The sticking point can be slightly different.

without proxy

➜  ~ sudo zypper -vvv up
Verbosity: 3
Initializing Target
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Checking whether to refresh metadata for repo-non-free (15.6)
Checking whether to refresh metadata for microsoft-edge
Checking whether to refresh metadata for repo-non-oss (15.6)
Retrieving: http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml ..............[done (892 B/s)]
Checking whether to refresh metadata for repo-openh264 (15.6)
Retrieving: http://codecs.opensuse.org/openh264/openSUSE_Leap/repodata/repomd.xml .................................[error]
Retrieving repository 'repo-openh264 (15.6)' metadata .............................................................[error]
Repository 'repo-openh264 (15.6)' is invalid.
[openSUSE:repo-openh264|http://codecs.opensuse.org/openh264/openSUSE_Leap] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://codecs.opensuse.org/openh264/openSUSE_Leap'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'repo-openh264 (15.6)' because of the above error.
Checking whether to refresh metadata for repo-oss (15.6)
Retrieving: http://cdn.opensuse.org/distribution/leap/15.6/repo/oss/repodata/repomd.xml ...........................[error]
Retrieving repository 'repo-oss (15.6)' metadata ..................................................................[error]
Repository 'repo-oss (15.6)' is invalid.
[openSUSE:repo-oss|http://cdn.opensuse.org/distribution/leap/15.6/repo/oss] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://cdn.opensuse.org/distribution/leap/15.6/repo/oss'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'repo-oss (15.6)' because of the above error.
Checking whether to refresh metadata for update-backports (15.6)
Retrieving: http://cdn.opensuse.org/update/leap/15.6/backports/repodata/repomd.xml ................................[error]
Retrieving repository 'update-backports (15.6)' metadata ..........................................................[error]
Repository 'update-backports (15.6)' is invalid.
[openSUSE:update-backports|http://cdn.opensuse.org/update/leap/15.6/backports] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://cdn.opensuse.org/update/leap/15.6/backports'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'update-backports (15.6)' because of the above error.
Checking whether to refresh metadata for update-non-oss (15.6)
Retrieving: http://cdn.opensuse.org/update/leap/15.6/non-oss/repodata/repomd.xml ..................................[error]
Retrieving repository 'update-non-oss (15.6)' metadata ............................................................[error]
Repository 'update-non-oss (15.6)' is invalid.
[openSUSE:update-non-oss|http://cdn.opensuse.org/update/leap/15.6/non-oss] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://cdn.opensuse.org/update/leap/15.6/non-oss'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'update-non-oss (15.6)' because of the above error.
Checking whether to refresh metadata for update-oss (15.6)
Retrieving: http://cdn.opensuse.org/update/leap/15.6/oss/repodata/repomd.xml ......................................[error]
Retrieving repository 'update-oss (15.6)' metadata ................................................................[error]
Repository 'update-oss (15.6)' is invalid.
[openSUSE:update-oss|http://cdn.opensuse.org/update/leap/15.6/oss] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://cdn.opensuse.org/update/leap/15.6/oss'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'update-oss (15.6)' because of the above error.
Checking whether to refresh metadata for update-sle (15.6)
Retrieving: http://cdn.opensuse.org/update/leap/15.6/sle/repodata/repomd.xml ......................................[error]
Retrieving repository 'update-sle (15.6)' metadata ................................................................[error]
Repository 'update-sle (15.6)' is invalid.
[openSUSE:update-sle|http://cdn.opensuse.org/update/leap/15.6/sle] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://cdn.opensuse.org/update/leap/15.6/sle'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'update-sle (15.6)' because of the above error.
Checking whether to refresh metadata for packman
Retrieving: https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.6/repodata/repomd.xml ................[error]
Retrieving repository 'packman' metadata ..........................................................................[error]
Repository 'packman' is invalid.
[packman|https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.6/] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.6/'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'packman' because of the above error.
Checking whether to refresh metadata for Update repository of openSUSE Backports
Retrieving: http://download.opensuse.org/update/leap/15.6/backports/repodata/repomd.xml ...........................[error]
Retrieving repository 'Update repository of openSUSE Backports' metadata ..........................................[error]
Repository 'Update repository of openSUSE Backports' is invalid.
[repo-backports-update|http://download.opensuse.org/update/leap/15.6/backports/] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://download.opensuse.org/update/leap/15.6/backports/'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'Update repository of openSUSE Backports' because of the above error.
Checking whether to refresh metadata for Non-OSS Repository
Retrieving: http://download.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml ..................[error]
Retrieving repository 'Non-OSS Repository' metadata ...............................................................[error]
Repository 'Non-OSS Repository' is invalid.
[repo-non-oss|http://download.opensuse.org/distribution/leap/15.6/repo/non-oss/] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://download.opensuse.org/distribution/leap/15.6/repo/non-oss/'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'Non-OSS Repository' because of the above error.
Checking whether to refresh metadata for Open H.264 Codec (openSUSE Leap)
Retrieving: http://codecs.opensuse.org/openh264/openSUSE_Leap/repodata/repomd.xml .................................[error]
Retrieving repository 'Open H.264 Codec (openSUSE Leap)' metadata .................................................[error]
Repository 'Open H.264 Codec (openSUSE Leap)' is invalid.
[repo-openh264|http://codecs.opensuse.org/openh264/openSUSE_Leap/] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://codecs.opensuse.org/openh264/openSUSE_Leap/'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'Open H.264 Codec (openSUSE Leap)' because of the above error.
Checking whether to refresh metadata for Main Repository
Retrieving: http://download.opensuse.org/distribution/leap/15.6/repo/oss/repodata/repomd.xml ......................[error]
Retrieving repository 'Main Repository' metadata ..................................................................[error]
Repository 'Main Repository' is invalid.
[repo-oss|http://download.opensuse.org/distribution/leap/15.6/repo/oss/] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://download.opensuse.org/distribution/leap/15.6/repo/oss/'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'Main Repository' because of the above error.
Checking whether to refresh metadata for Update repository with updates from SUSE Linux Enterprise 15
Retrieving: http://download.opensuse.org/update/leap/15.6/sle/repodata/repomd.xml .................................[error]
Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata .....................[error]
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is invalid.
[repo-sle-update|http://download.opensuse.org/update/leap/15.6/sle/] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://download.opensuse.org/update/leap/15.6/sle/'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'Update repository with updates from SUSE Linux Enterprise 15' because of the above error.
Checking whether to refresh metadata for Main Update Repository
Retrieving: http://download.opensuse.org/update/leap/15.6/oss/repodata/repomd.xml .................................[error]
Retrieving repository 'Main Update Repository' metadata ...........................................................[error]
Repository 'Main Update Repository' is invalid.
[repo-update|http://download.opensuse.org/update/leap/15.6/oss] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://download.opensuse.org/update/leap/15.6/oss'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'Main Update Repository' because of the above error.
Checking whether to refresh metadata for Update Repository (Non-Oss)
Retrieving: http://download.opensuse.org/update/leap/15.6/non-oss/repodata/repomd.xml .............................[error]
Retrieving repository 'Update Repository (Non-Oss)' metadata ......................................................[error]
Repository 'Update Repository (Non-Oss)' is invalid.
[repo-update-non-oss|http://download.opensuse.org/update/leap/15.6/non-oss/] Valid metadata not found at specified URL
History:
 - [|] Error trying to read from 'http://download.opensuse.org/update/leap/15.6/non-oss/'

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'Update Repository (Non-Oss)' because of the above error.
Some of the repositories have not been refreshed because of an error.
Loading repository data...
Reading installed packages...
Force resolution: No

The following 10 packages are going to be upgraded:
  microsoft-edge-stable        
    129.0.2792.65-1 -> 131.0.2903.112-1                                         x86_64  microsoft-edge      
    Microsoft Corporation
  nvidia-compute-G06           
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-compute-G06-32bit     
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-compute-utils-G06     
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-driver-G06-kmp-default
    550.120_k6.4.0_150600.21-lp156.27.1 -> 550.135_k6.4.0_150600.21-lp156.28.1  x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-gl-G06                
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-gl-G06-32bit          
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-utils-G06             
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-video-G06             
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-video-G06-32bit       
    550.120-lp156.27.1 -> 550.135-lp156.28.1                                    x86_64  repo-non-free (15.6)
    obs://build.suse.de/Proprietary:X11:Drivers

10 packages to upgrade.

Package download size:   453.0 MiB

Package install size change:
              |      1.54 GiB  required by packages that will be installed
     4.5 MiB  |  -   1.54 GiB  released by packages that will be removed

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): n

I use proxy because I’m in China and proxy always works fine on my other Linux distros. I think using proxy here is also better because of the error messages, although this may be due to not turning off all proxy settings properly in the current shell environment.

Next I’ll try to delete the duplicate ones, which are mentioned by your replies, and at which the updates stuck.

Show

curl -ILv http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml
➜  ~ curl -ILv http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml
* Uses proxy env variable no_proxy == 'localhost,127.0.0.0/8,::1'
* Uses proxy env variable http_proxy == 'http://127.0.0.1:7890/'
*   Trying 127.0.0.1:7890...
* Connected to 127.0.0.1 (127.0.0.1) port 7890
> HEAD http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml HTTP/1.1
> Host: cdn.opensuse.org
> User-Agent: curl/8.6.0
> Accept: */*
> Proxy-Connection: Keep-Alive
> 
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Content-Length: 10709
Content-Length: 10709
< Accept-Ranges: bytes
Accept-Ranges: bytes
< Age: 29619
Age: 29619
< Alt-Svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
Alt-Svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
< Connection: keep-alive
Connection: keep-alive
< Content-Type: text/xml
Content-Type: text/xml
< Date: Tue, 31 Dec 2024 09:57:26 GMT
Date: Tue, 31 Dec 2024 09:57:26 GMT
< Etag: "667414fe-29d5"
Etag: "667414fe-29d5"
< Keep-Alive: timeout=4
Keep-Alive: timeout=4
< Last-Modified: Thu, 20 Jun 2024 11:39:42 GMT
Last-Modified: Thu, 20 Jun 2024 11:39:42 GMT
< Proxy-Connection: keep-alive
Proxy-Connection: keep-alive
< Server: nginx
Server: nginx
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Via: 1.1 varnish
Via: 1.1 varnish
< X-Cache: HIT
X-Cache: HIT
< X-Cache-Hits: 0
X-Cache-Hits: 0
< X-Served-By: cache-nrt-rjtf7700079-NRT
X-Served-By: cache-nrt-rjtf7700079-NRT
< X-Timer: S1735639047.827814,VS0,VE1
X-Timer: S1735639047.827814,VS0,VE1

< 
* Connection #0 to host 127.0.0.1 left intact
➜  ~ sudo curl -ILv http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml
[sudo] password for root: 
* Uses proxy env variable no_proxy == 'localhost,127.0.0.0/8,::1'
* Uses proxy env variable http_proxy == 'http://127.0.0.1:7890/'
*   Trying 127.0.0.1:7890...
* Connected to 127.0.0.1 (127.0.0.1) port 7890
> HEAD http://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/repodata/repomd.xml HTTP/1.1
> Host: cdn.opensuse.org
> User-Agent: curl/8.6.0
> Accept: */*
> Proxy-Connection: Keep-Alive
> 
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Content-Length: 10709
Content-Length: 10709
< Accept-Ranges: bytes
Accept-Ranges: bytes
< Age: 29633
Age: 29633
< Alt-Svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
Alt-Svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
< Connection: keep-alive
Connection: keep-alive
< Content-Type: text/xml
Content-Type: text/xml
< Date: Tue, 31 Dec 2024 09:57:41 GMT
Date: Tue, 31 Dec 2024 09:57:41 GMT
< Etag: "667414fe-29d5"
Etag: "667414fe-29d5"
< Keep-Alive: timeout=4
Keep-Alive: timeout=4
< Last-Modified: Thu, 20 Jun 2024 11:39:42 GMT
Last-Modified: Thu, 20 Jun 2024 11:39:42 GMT
< Proxy-Connection: keep-alive
Proxy-Connection: keep-alive
< Server: nginx
Server: nginx
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Via: 1.1 varnish
Via: 1.1 varnish
< X-Cache: HIT
X-Cache: HIT
< X-Cache-Hits: 2
X-Cache-Hits: 2
< X-Served-By: cache-nrt-rjtf7700049-NRT
X-Served-By: cache-nrt-rjtf7700049-NRT
< X-Timer: S1735639061.117377,VS0,VE0
X-Timer: S1735639061.117377,VS0,VE0

< 
* Connection #0 to host 127.0.0.1 left intact

They function normally, but I’ve heard zypper may not be as normal as curl because they use proxy in different ways.

You never mentioned proxy before. If you are using proxy, maybe you need to explain how you configured it.