YaST autoupdate all RPMs (not just patches)


YaST somehow distinguishes between RPMs for which there’s just a new version and RPMs for which there’s a patch.
And usually there’s also a patch for all new RPM versions in oss-update and non-oss-update.

But if there’s a new version of an RPM from a third party repo, there’s usually not explicit patch. But you might also want those RPMs to be updated (depending on your trust in the repo).

How can the YaST autoupdate be configured, to also install new RPMs. Not just those for which there’s a patch.

Workaround: Use “zypper up” (maybe via a cronjob).

Once you have switched to package X from repository Y then the system will only update from that repository irrespective if a newer version is in another repository. The only way it will change if you explicitly switch back.

There is packagekit that can be configured, but if using zypper I would suggest to download all the updates first and then do a non-interactive update if that’s what your wanting.

If you run zypper up --help will show the options available.

I am not aware of a “YaST autoupdate”. Can you explain what you mean with that?

There are the standard “official” repositories for an openSUSE Leap version. Apart from debug and source repos, these are OSS, non-OSS, Update OSS and Update non-OSS.

The version as released is on the OSS and non-OSS repos. They will not change during the lifetime of the Leap version.
Updating of the software on these two repos will be restricted to security and recommended (the last one ones are those that realy need to be repaired, but are not security related). They are published on the Update repos. They are normaly NOT newer versions of the released software, but patched versions of the same. Even when upstream a security patch is released in a newer version of a product, that patch will be retrofitted to the version released with the leap version.
Installing those patched versions from the update repos can be done with

zypper patch

So that is all you need to keep your Leap version up-to-date and secure.

But, many people have more repos, most have at least Packman. Those repos do not have their Update counterpart, newer versions of packages are put directly on those repos by their maintainers. You can install them of course one by one, or all from a particular repo with

zypper up --from <repo-id)>

or from all enabled repos with

zypper up

Remind that the last one (zypper up) will include a zypper patch, thus when you decide to do it all in one go, then

zypper up

is your friend.

HTH in understanding the difference between “patch” and “up”

The equivalent of zypper patch using YaST is YaST > Software > Online Update.
The equivalent of zypper up --from … is YaST > Software > Software Management, then Repositories from the View menu, then choosing a repo at left will show all packages at right. Right click domewhere in the list at right and choose “Update if a newer version is avaliable”.

Sorry, I forgot to put in a description how to reach “YaST autoupdate”. It’s:
YaST -> Software -> Online Update Configuration

“YaST autoupdate” is like a simple way to do something like a cronjob for updates. And “YaST autoupdate” is what this question is all about. This question isn’t about zypper or packagekit.

That’s not what I’m trying to do.
I switched a package to repo X. And I want that package to be updated automatically if repo X releases a new version. And I want to do that using “YaST autoupdate” and not zypper or packagekit.

As said before, “YaST autoupdate” only updates packages if there’s an explicit “patch” for that package. I can’t really describe the difference between a new package version and what “YaST autoupdate” calls a “patch”. But you can see a list of those called “patches” when you open “YaST -> Software -> Online Update”. And there will only be patches for new packages in the OSS-Update and Non-OSS-Update repos, but not for any third party repos.

I’ve never used this tool (like others who have responded here I prefer to use zyppper), but after having a quick look and reading this re automated yast updates
I’m not sure that it can be done in a manner equivalent to ‘zypper update’ as you’d like to do. However, I may not be correct about this, so hopefully others can chime in further here.

I already explained the difference between Patches and Updates above. And yes, by implication Patches are listed (and can be installed, same as zypper patch) by YaST > Software > Online Update.

Hm, in my YaST > Software, I only have

  • Add-On Products
  • Media Check
  • Online Update
  • Software Management
  • Software Repositories

But I checked and I see a package called yast-online-uodate-configuration. It is not installed on my system and thus probably not done so by default. As I have no intention to let my system update itself without first checking what will be done, I am not going to install it.

I can however imagine that a YaST module that enables you to do a YaST Online Update based on the time of the day (week?) will only do that. Configuring when YOU will run. And as YOU only installs ptaches by design, it will never install updated packages from the non-standard repositories. It is not the configuring tool that can not do this, it is the tool itself that doesn’t.

  1. Allowing Vendor change in general: https://en.opensuse.org/SDB:Vendor_change_update#Allowing_Vendor_change_in_general

Allowing Vendor change for selected repositories

You can define a list of repositories having different “vendors” as equivalent

Disabling Vendor stickiness

If you wish you can disable vendor stickyness completely - in this case the package manager will not ask permission to change vendor for packages, and updating will just install whatever package has the highest version number, regardless of where it comes from.

  1. YaST Online Update https://en.opensuse.org/YaST_Online_Update

YaST Online Update (YOU) is used to get patches to correct and improve your existing installation. YOU can be started through the YaST Control Center which you’ll find under System in your menu. Or you can press Alt+F2 and type: yast.

YOU will only install official patches and not package updates from various unsupported or 3rd party repositories.