this post was submitted on 18 Mar 2024
27 points (88.6% liked)

Linux

48067 readers
701 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi,

I'm in the weird spot again, where I want to update my Tumbleweed system and am lost in a dependency hell. It more or less occurs once in a while when updates drop and the prompt asks if I want to install stuff from vendor "obs://build.opensuse.org/home:wolfi323" replacing the obsolete stuff from the official openSUSE vendor.

As soon as I read wolfi323, I get fucking Vietnam flashbacks, because it means I will have to decide for ~100 services if I keep the current obsolote version or install the one from wolfi323. Either way, it's gonna fuck up a myriad of dependencies.

All that hassle just to do the same shit all over again because at some point, the official opensuse repos catch up with newer versions.

I could probably wait for the official updates, but it's uncertain, when they are going to drop and I'll just pile up thousands of updates in the meantime.

How do the Tumbleweed Folks among us deal with this?

top 17 comments
sorted by: hot top controversial new old
[–] [email protected] 22 points 7 months ago (1 children)

How do the Tumbleweed Folks among us deal with this?

We generally don't add many third party repos and we set repository priorities. If I understand this correctly, you are currently using official openSUSE packages and your upgrade is prompting you to upgrade them by changing vendor to this home:wolfi repo. If you want to keep the original packages, you just need to set priorities: in YaST 's "Software Repositories" page for instance, you can select a repo and see what its priority is (99 is the lowest priority, 1 is the highest). You could for instance put the official repos at 95 priority and the wolfi repo at 99. This way, packages will remain set on the official repos even if there are new versions on the other repo.

However, if you have packages that you want to get from the wolfi repo but are also in the official repos, with this method you will be asked to change those packages to the official repos, the inverse situation compared to your issue. You can tell the system to keep those packages from your chosen repo, I do it by choosing a version on the YaST Software page.

[–] [email protected] 4 points 7 months ago

Oh I didn't know about the priority system. That might help. I guess I'll try to figure out, if I need the wolfi repo in the first place and remove it if possible and in addition add OpenSUSE as a vendor of higher prio to avoid similar issues in the future.

[–] [email protected] 18 points 7 months ago (1 children)

People need to stop addint ramdom home repos and openSUSE finally needs to communicate that the proper way is to fork wanted packes into your own https://build.opensuse.org home repo.

[–] [email protected] 4 points 7 months ago (1 children)

You're absolute right with the random repos. Yet, when I started a year ago, I was pretty new to the whole linux thing and allowed myself some experimenting.

[–] [email protected] 13 points 7 months ago

I put the failure on openSUSE's and their complete lack of communication around this. The base distribution is so good but OBS repo management can taint that.

[–] [email protected] 12 points 7 months ago* (last edited 7 months ago) (1 children)

Configuring the priority of the repository.
In OpenSuse, the priority of a repository is a value between 1 and 200, with 1 being the highest priority and 200 the lowest priority. If a package is available in more than one repository, then the repository with the highest priority takes precedence. Default is 99.

This is how I do via terminal:

List enabled repositories in priority order:
zypper lr -PE

In my case, the repo I want to change is:
4 | home_paul4us | home:paul4us | Yes | (r ) Yes | No | 99
(First column is the ID and last is PRIORITY)

Lower the 3rd party repo priority (set PRIORITY of the repository with ID 4 the value of 100):
sudo zypper mr -p 100 4

You will see the message:
Repository 'home_paul4us' priority has been set to 100.

Bonus
If you want to list what is installed from this repo (id 4):
zypper se -i -r 4

[–] [email protected] 3 points 7 months ago

Wow, thats really elaborate. Thanks so much!

[–] [email protected] 5 points 7 months ago

I set lower priorites (higher number) for all repos from OBS and such. The only repo that has a higher priority is Packman. You can see your priorities with "zypper lr -p", and set priorities with " zypper mr -p 100 ".

[–] [email protected] 3 points 7 months ago (1 children)

The suggestions made here are already spot on and I can just support the suggestion to use the least amount of extra repos as possible. Packman is the only one I'd consider, also check your repos regularly and see if you can make sense which is what, otherwise get rid of the ones where you have no clue why you had them in the first place (obviously check first which packages they install).

[–] [email protected] 2 points 7 months ago

Yeah I'm really happy about some really good answers to my problem. This is my first non-experimental long used Linux system and when I started a year ago, I was experimenting with some stuff and added some repos that were recommended in some videos and blogs. And now I feel the pain of not keeping the count low :D Learning through pain is a real thing here.

[–] [email protected] 3 points 7 months ago (1 children)

Use the --allow-vendor-change flag (I think that's it, I can't look it up at the moment) and it will happily switch between vendors without bugging you.

Or just remove the repo, but I guess you need it for other stuff.

[–] [email protected] 1 points 7 months ago

Tbh, I don't know if I needed it and added it myself, or if it was an oob Repo. I'll try to use the flag though. Thanks!

[–] [email protected] 2 points 7 months ago (2 children)

I assume you have added the repo because it fixed some issues at some point. Is the repo still needed to fix those or could you remove the repo and just update using normal distro packages?

DISCLAIMER: I don't use OpenSUSE or any of the variants. I assume that the obs stuff is kind of like how the AUR is for Arch, or PPA's are for Ubuntu. If it's something difference, please disregard my comment.

[–] [email protected] 2 points 7 months ago

Your comment happens to be fine, but yeah, the way repos work is quite a bit more sophisticated on openSUSE than on most other distros.

Basically, it's not a matter of package updates getting installed from whichever repo has the highest version, but rather you can choose where to install a package from and then it will only update from there.
As a whole, this means you can have many repos on your system which provide the same package, but of course, it still makes it easier to manage, if you have fewer repos.

[–] [email protected] 2 points 7 months ago

I don't know why the repo was added anymore. I'll try a flag that was suggested in another response, or otherwise will try to remove the repo so it does not bother me anymore.

[–] [email protected] 1 points 7 months ago

I used Tumbleweed for about half a year 1-2 years ago. Version/dependency hell primarily between the main distro repos and Packman (the repo most multimedia drivers are installed from) was my main issue with it. You could expect either the main distros or Packman to break something between the two about once a month and prevent updates for a few days while the other side caught up. Got annoying, but those things can happen pretty easily on a rolling release.

[–] [email protected] 1 points 7 months ago

I don't use any third party repos