Hello… I’m new to OpenSUSE and haven’t used linux in 15 years.
I’m a little confused about how to best install software and keep it up to date on opensuse and have some questions.
The wiki says not to use repos other than the official 4 and packman.
For new Linux and openSUSE users it is recommended to use the 4 default repositories (OSS, Non-OSS, Update, Update-Non-OSS) and Packman. Later on when you familiarize yourself with package management you can add more.
So what happens if I want to install software from another repository… Do I install it from that repository but not subscribe to it? If I don’t subscribe to the entire report, will Yast/zipper still keep it up to date and will KDE notify me when updates are available? Or am I own my own with updates at that point?
What happens if an application is included in one of these repos but it is not the latest version? Should I just need to wait for the repo to get updated at that point?
The wiki says:
Some repositories never change, like the official oss and non-oss. You should set refresh to Off for them. Non official and update have new packages available all the time. It’s convenient to have them refreshed automatically at start up.
Really? Never? Is it better to update them manually somehow periodically? Or they really never change?
Well, a lot has changed :). The opposite here, I’ve been using nothing but linux in 15 years.
I’m a little confused about how to best install software and keep it up to date on opensuse and have some questions.
The wiki says not to use repos other than the official 4 and packman.
Still a wise piece of advice when you’re starting to use openSUSE. First: the distro and update repos send all their packages through openSUSE’s openQA for testing, packages in the other repos don’t.
So what happens if I want to install software from another repository… Do I install it from that repository but not subscribe to it? If I don’t subscribe to the entire report, will Yast/zipper still keep it up to date and will KDE notify me when updates are available? Or am I own my own with updates at that point?
If you don’t “trust” the key of a repo, you will not be able to use it. You could download the desired package(s) directly from http://download.opensuse.org but you would have to manually download every update from that repo as well. IMHO a road to getting things broken. KDE will not notify you about anything, the updater will look for configured repos and use these.
What happens if an application is included in one of these repos but it is not the latest version? Should I just need to wait for the repo to get updated at that point?
You just wait. Or start learning about OBS ( the openSUSE Build Service ) and build your own more recent packages in your own repo :).
The wiki says:
…
Really? Never? Is it better to update them manually somehow periodically? Or they really never change?
The distro repos NEVER get updated. Really never. Any updates for packages in the OSS and NON-OSS repos go through their respective Update repos.
Another thing to consider: If having the latest and greatest versions of software, you’d be better off running Tumbleweed, openSUSE’s rolling release, which is also constantly being openQA tested.
So if I only want a single application from a large repo, do I have to keep that entire repo metadata refreshed to get updates to that single application?
Oh, cool. I was expecting to build them by hand. That seems like a nice feature.
Ok… I’m curious though, what is the purpose of dragging this stale library along forever? They don’t even get refreshed when a new major stable version is released?
Yeah, it wasn’t really clear to me whether I should use Leap or Tumbleweed. Ideally for me, I think my OS layer and desktop environment would be relatively stable, but I would get updates to end-of-the-line applications frequently… basically what I am accustomed to from MS and apple products. The idea of having my desktop UI completely re-organized or shell commands changed around on a weekly basis doesn’t sound great, but service clients and such I probably want to keep as up to date as possible. Is Tumbleweed the best bet for that scenario? I kind of envisioned Tumbleweed as just updates to the core platform not the end-user applications, but maybe that is false.
How do I get updates when using tumbleweed? Does it use a different set of repos or somethings?
Curious which wiki you referenced… Do you have a URL?
BTW - Whenever you see a community (volunteer) based source of information like a Wiki, try to determine how current it is. A Wiki will generally provide some clues, like a History page, and often the date of any comments and discussion if available.
Re the OSS and non-OSS repos, although those don’t change, there are accompanying Update repos which contain changes. IMO it’s a good idea to keep the non-changing OSS and non-OSS repos enabled so that if a file is ever damaged or missing from your base, it would be restored automatically from those repos… Else, an update or patch may not install later.
In Linux, updates for both apps and the OS can occur automatically, you only need to have their repos enabled and either update manually or by application. If you install an app not from a repo (eg compile from source), then there is typically no update mechanism so you’d have to update manually and individually.
Getting updates from any distro(Like openSUSE) or distro version(like Tumbleweed or LEAP) simply involves configuring the repo for that distro version, then everything after that happens automatically with either a normal update
zypper update
or major version/re-install upgrade (should be executed only rarely as needed)
When I wrote “distro(s)”, I should have been more clear. Each openSUSE version has it’s distribution repos. These contain much more software than we could possible put in a downloadable DVD or USB image. You find the distribution repos here http://download.opensuse.org/distribution/ . For the repositories: http://download.opensuse.org/repositories/ . You can browse the URL’s with a browser, for me this helped to get a picture of how the repos are organized.
Yeah, it wasn’t really clear to me whether I should use Leap or Tumbleweed. Ideally for me, I think my OS layer and desktop environment would be relatively stable, but I would get updates to end-of-the-line applications frequently… basically what I am accustomed to from MS and apple products. The idea of having my desktop UI completely re-organized or shell commands changed around on a weekly basis doesn’t sound great, but service clients and such I probably want to keep as up to date as possible. Is Tumbleweed the best bet for that scenario? I kind of envisioned Tumbleweed as just updates to the core platform not the end-user applications, but maybe that is false.
IMHO Leap is your best option. Your worries re. end-of-the-line applications are not necessary, f.e. the KDE/Plasma5 desktop gets updated to very recent release through Leap’s update repo. And Leap will have an annual release-pattern, where upgrading to the next version is a feature that is also openQA tested. ( Have a look at openQA: Test results , if you see yellow dots, click on one and you can see the actual testing going on ). A selection of repos is available through Yast’s repo manager, a.o. the LibreOffice, games, Packman repos.
How do I get updates when using tumbleweed? Does it use a different set of repos or somethings?
Tumbleweed is different. Builds go through openQA, when all is well then get released to the tumbleweed repos. That’s where TW is different from Leap.
Thanks again so much!
Your questions almost force me to make my default statement: openSUSE is so much more than a linux distro. OBS is not just available as a webservice, you can run your own instance on your own machine, and still use what’s available in the online repos to resolve dependencies etc.
Right but I was thinking that perhaps there was a way to configure it such that the entire repo metadata didn’t get refreshed, just the apps you installed? Maybe it’s making a mountain out of a mole hill, but I thought if you only used 1 package out of 500 it seemed weird to keep fetching updated metadata for the entire repo.
Very cool… sounds like I want to start with Leap. The repo browser seems very useful too. Thanks!
Please don’t forget that packages in one repo often “belong to eachother”. You might just want the latest “kwrite”, but “kwrite” gets built together with the appropriate libraries ( in the same repo ). In your “example” your system wouldn’t even be aware of the other updates and “kwrite” would run against libraries of a different version. Which would result in mismatches.
Also only installed programs get updated/ It is vendor sticky which means if you install from repos A repo A is then the vendor for that program and normal updates for that program only come from repo A. Exceptions that updates to the base system come from the update repo not the main repo since they may be just patches.
After I installed I had 6 repos… One on my USB drive I used to install which I obviously didn’t want to keep plugged in, and 2 instances of the MAIN OSS. I removed one instance of the MAIN OSS and the one from the thumb drive. So I had Main OSS, Main NON-OSS, Update OSS, Update NON-OSS. Then I added Packman and my AMD driver repo. All 6 repos are at the default priority of 99.
So my questions…
Should I do anything after removing the extra repos to redirect the packages that were installed to the new repos? Should I click the “Switch System Packages to this repo” button?
If I remove a repo and no other repo has a package installed from it, does it remove the package? If I remove a repo and a package exists in another repo will it get picked up automatically from the new repo?
If I have multiple repos installed (like Main OSS and Update OSS), will it pick the latest version of the package automatically?
list the repos using zypper lr -d
note the number of packman
then zypper dup --from #
where # is the number of the packman
this will do a vendor change for the multimedia stuff to allow proprietary formats
no removing or adding repos has no effect on packages installed or updated unless you perhaps do a zypper dup which can change vendors. Always use zypper up since it maintains vendor relation
no it only picks the newest from the same vendor. if a package comes from vendor A and also in in the B repos A only is used even if B has newer. note that it is best to do this because version mixing can happen which can break things
priority is the old way it before vendor stickiness and still can be used if you turn vendor stickiness off. It simply set the priority of the repos lower number coming first. Vendors arwe better in that ther is less chance of mixing package versions.
You can force changes of vendors for any selected package in Yast-software management or using zypper commands
How is vendor decided? Are the 4 main opensuse repos and the install disc all considered the same vendor? So I don’t need to do anything to make sure the packages coming from those repos stay updated?
Vendor is the repo you installed the package from. Simple as that. It does not change unless you force an install from another repo then the new repo is the vendor for that package. ie the vendor sticks to the package
The likely reasons why the metadata for the entire repo is refreshed(purely my conjecture)
Likely for simple maintenance reasons. Current implementation is a relatively simple description of metadata, if you start going into tracking only metadata for installed packages, the description quickly becomes very complex and therefor subject to possible errors.
Simple metadata descriptions > fewer hashes for integrity checks. If either every individual package or custom groupings were supported, hashing checks might be onerously long.
Perhaps most importantly, you always want to have an up to date listing of <possible> and <available> packages not yet installed on your system. Your suggestion to only update the hashes for individual packages instead of the entire repo would mean that any search for new apps would require a new download.