My system flips between upgrading and downgrading thousands of files with each use of zypper dup.
What is going on?
My system flips between upgrading and downgrading thousands of files with each use of zypper dup.
What is going on?
@8876523450 See https://forums.opensuse.org/t/20250531-downgrading-all-packages-and-wants-to-install-older-ones/185404 it’s a mirror desync and out of date mirrors.
Do these commands.
zypper clean --all
zypper refresh
zypper dup
Those seem to work and stop the downgrade. But it appears that if packagekit runs (checks for updates), you’ll have to do the zypper clean --all again, then do the refresh and dup. I have not found a good permanent work around for any of these problems.
I did a lot of reading and they were talking about if a server is fast then add it to the mirrorlist. It seems that maybe they’re testing the speed and adding it to the list before making sure it’s up to date. I don’t know.
I use Coolercontrol 2.1.0. The repo for it is:
https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/x86_64/
But during dup it changes to a different link with the old 1.4.5 version on it:
https://rsync.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
The actual mirrorlist has several servers that are not up to date (but none of them have Coolercontrol that I can find). Until the actual list is fixed, I don’t think it’s going to be reliable unless there’s a way to totally disable the mirrorlist and I haven’t found one.
I’m using the zypper -d option to download only. I don’t want any crazy installs going on. After it downloads the packages you can use zypper --no-refresh dup without the -d and it’ll install everything without refreshing and changing the list.
Note that after doing all of the 3 commands above (zypper clean, refresh and dup) , sometimes it errors with this. You’ll get the package list from zypper dup and everything looks good. It’ll really upset you after you go through 50+ manual package selections then it dies. You get this when that happens.
# zypper dup -d
...
HUGE LIST WE'VE ALL SEEN.
...
...
Backend: classic_rpmtrans --download-only
Continue? [y/n/v/...? shows all options] (y): y
committing
Preload finished. [success (1.2 KiB/s) ] ................................................................................................[done]
terminate called after throwing an instance of 'boost::wrapexcept<boost::bad_any_cast>'
what(): boost::bad_any_cast: failed conversion using boost::any_cast
Aborted (core dumped)
#
I don’t know the cause but another zypper dup seems to work.
Once packagekit checks for updates, zypper will give you the huge downgrade list.
I have not found a bug report on this but there’s clearly a bug when a version 1.4.5 takes precedence over a version 2.1.0. There is no second repo for my Coolercontrol, but zypper invents (finds) one that has a lower version and says that it’s the newest version.
@jsmith64 Try env ZYPP_PCK_PRELOAD=0 zypper -vvv dup
it’s likely hitting a funky mirror, I just blacklisted an offending one in DNS…
It wants to downgrade Coolercontrol and it has changed the link.
I’ve put a lot of hours into this.
# env ZYPP_PCK_PRELOAD=0 zypper -vvv dup
Verbosity: 3
Initializing Target
Refreshing service 'openSUSE'.
Checking whether to refresh metadata for Src-OSS
Checking whether to refresh metadata for Brave Browser
Checking whether to refresh metadata for google-chrome
Checking whether to refresh metadata for CoolerControl (openSUSE_Tumbleweed)
Retrieving: https://slc-mirror.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/repodata/repomd.xml ............[done (2.9 KiB/s)]
Checking whether to refresh metadata for repo-non-oss
Checking whether to refresh metadata for repo-openh264
Checking whether to refresh metadata for repo-oss
Checking whether to refresh metadata for update-tumbleweed
Checking whether to refresh metadata for libdvdcss repository
Checking whether to refresh metadata for snappy
Checking whether to refresh metadata for vivaldi
Checking whether to refresh metadata for vivaldi-snapshot
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
Force resolution: No
Computing upgrade...
Problem: 1: problem with the installed hardinfo2-2.2.14-1.x86_64
Solution 1: install hardinfo2-2.2.10-1.1.x86_64 from vendor openSUSE
replacing hardinfo2-2.2.14-1.x86_64 from vendor Humanity
Solution 2: keep obsolete hardinfo2-2.2.14-1.x86_64
Choose from above solutions by number or cancel [1/2/c/d/?] (c): 2
Applying solution 2
Resolving dependencies...
Computing distribution upgrade...
Force resolution: No
Computing upgrade...
The following 2 items are locked and will not be changed by any action:
Available:
python3-liquidctl
Installed:
hardinfo2 2.2.14-1 x86_64 @System Humanity
The following 6 packages are going to be downgraded:
coolercontrol
2.1.0-1.3 -> 1.4.5-1.10 x86_64 CoolerControl (openSUSE_Tumbleweed) obs://build.opensuse.org/home:codifryed
coolercontrold
2.1.0-1.4 -> 1.4.5-1.5 x86_64 CoolerControl (openSUSE_Tumbleweed) obs://build.opensuse.org/home:codifryed
coolercontrol-liqctld
2.1.0-1.3 -> 1.4.5-1.1 noarch CoolerControl (openSUSE_Tumbleweed) obs://build.opensuse.org/home:codifryed
python311-hidapi
0.14.0.post4-1.13 -> 0.14.0-1.36 x86_64 CoolerControl (openSUSE_Tumbleweed) obs://build.opensuse.org/home:codifryed
python312-hidapi
0.14.0.post4-1.13 -> 0.14.0-1.36 x86_64 CoolerControl (openSUSE_Tumbleweed) obs://build.opensuse.org/home:codifryed
python313-hidapi
0.14.0.post4-1.13 -> 0.14.0-1.36 x86_64 CoolerControl (openSUSE_Tumbleweed) obs://build.opensuse.org/home:codifryed
6 packages to downgrade.
Package download size: 10.3 MiB
Package install size change:
| 32.1 MiB required by packages that will be installed
12.4 MiB | - 19.7 MiB released by packages that will be removed
Backend: classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): n
#
@jsmith64 did you bother to check the repo packages, the mirror you using only has the 1.4.5 version…
If you going to hard code a third party repository, you need to actually check if having issues…
Use https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/x86_64/coolercontrol-2.1.0-1.3.x86_64.rpm.mirrorlist to see the mirrors in use
Sure did.
The link I’m using in the repo works. Click on x86_64 when you get there. 2.1.0.
Also, your mirrors do not contain the “mirror” that mine is coming from.
I’m going to try to add /?mirrorlist to the Coolercontrol repo.
https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
> cat /etc/zypp/repos.d/home_codifryed.repo
[home_codifryed]
name=CoolerControl (openSUSE_Tumbleweed)
enabled=1
autorefresh=1
baseurl=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
type=rpm-md
priority=95
gpgcheck=1
gpgkey=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/repodata/repomd.xml.key
>
@jsmith64 No your output… It’s going to here;
Checking whether to refresh metadata for CoolerControl (openSUSE_Tumbleweed)
Retrieving: https://slc-mirror.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/repodata/repomd.xml
Which has the old version and is not in the mirrorlist link…
Thank for your help. Coolercontrol (codifryed) was going to here. I did get the Tumbleweed 20250601 update done today and maybe that changed where it was going.
https://rsync.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
I edited my home_codifryed.repo file and added mirrorlist=http:
[home_codifryed]
name=CoolerControl (openSUSE_Tumbleweed)
enabled=1
autorefresh=1
baseurl=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
mirrorlist=http://cdn.opensuse.org/tumbleweed/repo/oss/?mirrorlist
type=rpm-md
priority=95
gpgcheck=1
gpgkey=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/repodata/repomd.xml.key
The only repo only had baseurl=https:
[home_codifryed]
name=CoolerControl (openSUSE_Tumbleweed)
enabled=1
autorefresh=1
baseurl=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
type=rpm-md
priority=95
gpgcheck=1
gpgkey=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/repodata/repomd.xml.key
>
I’m still checking but this is progress. I don’t know what repos the OP may have but I am still getting the big downgrade list and have to do the refresh and all of that.
I used the command it gives you when you download Coolercontrol and it says use this command to add the repo. It always worked until this new zypper thing. I’m thinking that any repo that doesn’t expressly state mirrorlist might be trashing the list somehow.
Your help and my mistake may have solved it.
I had tried to duplicate the baseurl line to the mirrorlist line.
baseurl=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
But this time I didn't edit it like I intended...I'm pretty tired.
mirrorlist=http://cdn.opensuse.org/tumbleweed/repo/oss/?mirrorlist
This one has the slc-mirror you mentioned. I had intended to edit this line and add mirrorlist to it like it’s listed here now.
Look at the difference you get between using this:
https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/?mirrorlist
Compare that to this, which works.
http://cdn.opensuse.org/tumbleweed/repo/oss/?mirrorlist
I’m still testing and I am still getting the big downgrade offer…
That’s what I’m call it now. Thankfully it is an offer that you can refuse!
@malcolmlewis I just had a similar thing as @jsmith64 … my Open264 repository was the only one with the standard baseurl=http://<url>
format so I disabled that one and did a zypper clean --all
and then a zypper -vv ref -r 5
which is my update-tumbleweed repository and the only one I knew to be working properly … now I’ve done zypper ref && zypper dup
as well as 8 more zypper dup's
with no errors so far
Doing a zypper -vv ref
I noticed this url was prominent when it failed https://codingflyboy.mm.fcix.net/
and different urls when my dup’s succeeded rackspace.com
I believe …
I still have this error. I did clean then refresh and dup.
Looks good, but dies.
# zypper -vvv dup -d
Verbosity: 3
Initializing Target
Refreshing service 'openSUSE'.
Checking whether to refresh metadata for CoolerControl (openSUSE_Tumbleweed)
Checking whether to refresh metadata for repo-non-oss
Checking whether to refresh metadata for repo-openh264
Checking whether to refresh metadata for repo-oss
Checking whether to refresh metadata for update-tumbleweed
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
Force resolution: No
Computing upgrade...
The following package is going to be upgraded:
unrar 7.0.9-1.5 -> 7.1.6-1.1 x86_64 repo-non-oss openSUSE
1 package to upgrade.
Package download size: 185.2 KiB
Download only.
Backend: classic_rpmtrans --download-only
Continue? [y/n/v/...? shows all options] (y): y
committing
Preload finished. [success (1.2 KiB/s) ] ................................................................................................[done]
terminate called after throwing an instance of 'boost::wrapexcept<boost::bad_any_cast>'
what(): boost::bad_any_cast: failed conversion using boost::any_cast
Aborted (core dumped)
#
unrar got downgraded during all of this fun I’m having.
I’ve gotten this error before in this situation. This time I had already downloaded the repos rpm for TW.
I deleted all of my repos and installed the repo rpm. Repos are back, clean and all have baseurl and mirrorlist= in them.
But there’s that error again…I’m going to research it now.
I can update unrar through Yast or Myrlyn, but the terminal fails.
Any clue what’s causing that?
Also, I didn’t mean that I deleted the baseurl line for the Coolercontrol repo. I meant I didn’t use the whole baseurl address line and add /?mirrorlist to it to make the mirrorlist= line.
It seems OBS repos need to get the mirror list from the base address of the os.
Ok, now I can’t get it to show the unrar update.
maybe the error is because it’s already been updated…but it was a new repo file, repos cleaned, refreshed then dup’d, and there it was.
I’ll lust have to make another post…time limit on editing interferes with troubleshooting and fixing your post.
I had those exact same errors with the unrar, repo-oss, repo-non-oss and wine-whatever … even the boost error … for me the repo* were just place holders and zypper didn’t even see them … I just rm’d them all and zypper re-installed unrar and the wine file all by itself after the rm … try what I did in my post with any “working repository” you have … you’ll know which one it is when you zypper clean --all
, zypper ref -r "number"
and do a zypper dup -r "number"
and get a “nothing to do” message … then do a zypper ref
to do the rest of them … hopefully you’ll be good after that … mine still working
Myrlyn worked for me but yast had a fit because of the repo’s … it’s fine now … unrar and the wine thing back in … the rest are gone
One weird thing with Yast … when I start it up it has openSUSE-repos-MicroOS and openSUSE-repos-MicroOS-NVIDIA marked for installation … I just cancel out rather than take the chance of screwing up my dup’s again
If my little refresh dance doesn’t work for you can you disable your Cooler-Control and openh264 temporarily and try again to see if that fixes things? You might be right about the baseurl thing … that’s why I disabled my openh264 as well …
unrar has been in there so long that maybe the package changed? I don’t know what’s up with that.
But…
zypper clean --all
then…
zypper refresh
Then…
zypper dup
…produces the huge downgrade list every time.
zypper refresh is what brings up the huge downgrade list on the next dup.
Clean then dup does not produce the huge list.
Not yet anyway. Just did clean and dup again. I didn’t get the huge downgrade list. The repos are refreshing, at least there’s a lot of network traffic, so I believe they are.
Now I just got:
The following package is going to be downgraded:
libgtksourceviewmm-3_0-0
Gotta go look at that for an hour…
This is what i see. Build 20250531 on KDE.
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
3 Problems:
Problem: 1: the installed gstreamer-plugins-bad-codecs-1.26.1-1699.1.pm.1.x86_64 requires 'gstreamer-plugins-bad >= 1.26.0', but this requirement cannot be provided
deleted providers: gstreamer-plugins-bad-1.26.1-1.1.x86_64
Problem: 2: the installed gstreamer-plugins-ugly-codecs-1.26.0-1699.1.pm.6.x86_64 requires 'gstreamer-plugins-ugly >= 1.26.0', but this requirement cannot be provided
deleted providers: gstreamer-plugins-ugly-1.26.1-1.1.x86_64
Problem: 3: the installed pipewire-aptx-1.4.2-1699.1.pm.3.x86_64 requires 'pipewire >= 1.4.0', but this requirement cannot be provided
deleted providers: pipewire-1.4.4-1.1.x86_64
Problem: 1: the installed gstreamer-plugins-bad-codecs-1.26.1-1699.1.pm.1.x86_64 requires 'gstreamer-plugins-bad >= 1.26.0', but this requirement cannot be provided
deleted providers: gstreamer-plugins-bad-1.26.1-1.1.x86_64
Solution 1: deinstallation of gstreamer-plugins-bad-codecs-1.26.1-1699.1.pm.1.x86_64
Solution 2: keep obsolete gstreamer-plugins-bad-1.26.1-1.1.x86_64
Solution 3: break gstreamer-plugins-bad-codecs-1.26.1-1699.1.pm.1.x86_64 by ignoring some of its dependencies
Yes I have tried zypper clean and zypper ref various times.
If I keep obsolete, it makes update packages worth 14GB of data.
I had to manually uninstall each packman rpm. They were costing me a lot of work while trying to sort this out.
Changing the Coolercontrol mirrorlist= line worked to get the correct version of CC, but it also pulled in tons of system files too. The CC repo only has CC in it.
You can go to Myrlyn > Repos and click on the CC repo and see what it claims in also in that repo. It isn’t.
baseurl=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/
mirrorlist=http://cdn.opensuse.org/tumbleweed/repo/oss/?mirrorlist
I believe it’s getting packages from the oss list.
Using the full address like in the baseurl line gets the wrong version and constantly wants to downgrade CC.
mirrorlist=https://download.opensuse.org/repositories/home:/codifryed/openSUSE_Tumbleweed/?mirrorlist
I’m thinking this is way deeper than a little repo file fixing on our part. I learned a lot and and I think enough to know there’s a bug somewhere like in libsolv or zypper. it’s sure coming up with some goofy plans for your system. Downgrade everything, tell you old is new and on and on it goes…in a circle.
I don’t think those of you who think you have it fixed really have it fixed. But I could be wrong. My cat and a couple of power outages might have caused problems that I’m just finding out about, but I don’t think so. We have too much odd stuff in common like unrar etc.
That doesn’t mean to give up! Get to work!
I don’t use CC, Yast or Myrlyn … I got my plain old zypper dup back and it’s still working beautiful … haven’t pulled in tons of files … just waiting for the next snapshot …
I added
/?REGION=na
to the end of all url of repositories to confine the mirrors to be in North America by editing urls in yast software repositories. Then it seems working properly.