Hey I took someones advice after asking about tumbleweed and installed leap instead. Great system so I want to ask. If I update stuff should I be using zypper dup like I was on tumbleweed or some other method. How should I update my system?
Best would be to use:
zypper up
to update Leap.
Please be aware that, Leap differentiates between “Update” and “Patch” –
- “Patch” attempts to reduce the amount of network bandwidth used to introduce the needed changes into the system.
- “Update” will also apply the patches but, it tends to download the complete updated packages rather than, only the patches made to the repaired packages and, in doing so, uses more network bandwidth.
Please be aware that, KDE supports the FOSS Energy Efficiency Project and the Blue Angel for FOSS programs – <https://eco.kde.org/>.
Should I ever zypper dup? and How do I know when to if so?
I suggested “update” rather than “patch”, because there are no patches for the packman repo and perhaps other added repos.
Personally, I’ve been using
zypper patch --with-update
which is a patch and additional updates for repos that don’t use patch. But it will usually do the same updating as “zypper update”.
This seems wrong. Either “zypper patch” or “zypper update” will download the delta and reconstruct the package from the delta.
Most of the time “zypper dup” and “zypper update” will do about the same thing. You can try with:
zypper dup -D
which will tell you what it would do but won’t actually do anything.
Tumbleweed is different as a rolling distribution, so the list of appropriate packages can change over time, and the “zypper dup” takes care of that. But Leap uses a standard list which normally doesn’t change for the life of that version. So the “dup” is not normally needed.
If, however, you mess up your system with packages from non-standard repos, then “zypper dup” (after fixing the repos) can usually restore to the correct packages.
zypper dup will not change the Vendor by default, you have to add --allow-vendor-change or some other options.
zypper -n update
works fine. It may die if parent user processes terminate. Run it in the system slice by creating the following service:
3400G:~ # systemctl cat upd
# /etc/systemd/system/upd.service
[Unit]
Description=Dist Update
[Service]
ExecStart=/usr/bin/zypper --non-interactive update
3400G:~ #
Running systemctl start upd
will update your system.
My mistake – I should have read the man page more closely rather than applying the accepted software development usage of the term:
- A change made to correct a functional misbehaviour – a delta change made to existing code – not a complete re-write …
- An update on the other hand, may well include a complete re-write of existing code …
Be that as it may, on reading another explanation of the openSUSE usage of the term “patch” – <https://sudoedit.com/opensuse-patch-vs-update/>
While patches in openSUSE are similar to updates in that they will install updated packages. Patches are meant for specific bug fixes and security fixes for software that comes packaged by openSUSE and is maintained in the Main Updates repository. A single patch might include several package updates to mitigate a specific security vulnerability or bug fix.
And yes, it is confusing –
- A Zypper patch is a collection of packages which need to be changed to address a specific vulnerability.
A patch may be retracted – the affected packages will be tagged with a status indicating “patch retracted” – but, the individual package versions (which still contain the changes made) may be explicitly installed – with the resulting dependency issues …
So, “patch” or “update”?
- An update executes “Update installed packages with newer versions, where possible.”
- A patch executes “Install all available needed patches.”
I’ll remain with “patch” because:
- The patches address specific vulnerabilities – for me, this is more important than, changes made to packages which are not triggered by any specific vulnerability.
Which doesn’t mean to say that, I don’t install updates – I do install package updates but, only after any vulnerabilities addressed by patches have been repaired …
FWIW, I’ve been using openSUSE since before it acquired its current name. I’ve never used zypper patch.
My understanding is that a patch will fix an issue in the currently installed version. Whereas an update will change the currently installed version to a higher version.
An update may introduce new functionality or change existing behaviour. A patch shouldn’t (except for the issue it is expected to fix).
There are three different ways to update software using Zypper:
- by installing patches
- by installing a new version of a package
- by updating the entire distribution.
thanks that helped alot i think I was also wondering how to upgrade to 15.5. i think if im reading right i do:
zypper dist-upgrade
Wait that can’t be cause it said nothing to do.
It is! And it better say nothing to do! 15.5 is still in Beta state. Unless you want to experiment or contribute to the testing. About the distribution upgrade check here:
https://en.opensuse.org/SDB:System_upgrade
And probably a man zypper
will help, as well.
Edit: BTW zypper dist-upgrade
is the same as zypper dup
.
You would need:
zypper --releasever=15.5 dup --allow-vendor-change
However, as @kasi042 said, 15.5 is still at the beta testing level. It might be better to wait until it is officially released.
alr thanks to everyone for all the help!
Basically yes: "2321" packages to upgrade . . . on reboot another "204" yet to go?? Why??? - #214 by karlmistelberger
There is some fine print: Update openSUSE 15.3 to 15.4 · GitHub
@EVERYONE:
Patch versus Update → .drpm …
<https://download.opensuse.org/update/leap/15.4/sle/x86_64/>
Search for “Mozilla” –
Note that, the latest Mozilla Firefox changes are available via 2 packages:
- MozillaFirefox-102.10.0-150000.150.82.1_150200.152.84.1.x86_64.drpm → size 5.5 MB
- MozillaFirefox-102.10.0-150200.152.84.1.x86_64.rpm → size 57.5 MB
Strange – the “zypper patch” I executed today, called the .drpm packages – not only for the Mozilla Firefox patch – for ALL of the patches I installed today …
What are Delta RPM packages – P.S.: a SUSE invention – actually, a SuSE invention because it ain’t new …
<https://unix.stackexchange.com/questions/368867/what-is-drpm-and-how-does-it-differ-from-rpm>
But, there’s a Fedora action being executed: <https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/NLH6LCDDLEPOP74UOLNQG4NIIVBM7CTU/>
Scroll down to the post from Dennis Gilmore –
The last updates just now on three different machines gave me
Delta RPMs reduced 284.9 MB of updates to 281.0 MB (1.4% saved)
Delta RPMs reduced 14.3 MB of updates to 3.3 MB (76.9% saved)
and the third had no Delta RPMs
And, the original Fedora mail list discussing the proposal to get rid of Delta RPM packages: <https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JYKVELSBJQMEK6KEFXG354ZDZDDX4C5G/#RLEUYSWOUVUS53YAP7WQQNN7HNEBIC4E>
So yes, it seems that Fedora will stop using Delta RPM packages possibly quite soon but, it seems that, the openSUSE update repositories will continue to support “zypper patch” and Delta RPM packages at least for the next few days …
The use of “zypper patch” is not directly related to the use of delta RPM packages. If you use “zypper update” you will still use those deltas. If you prefer to not use delta, there’s an entry in “/etc/zypp/zypp.conf” for that:
# download.use_deltarpm = true
(Change to “false” and remove the “#” to change behavior).