Locking the current kernel version

Hi, I am wondering about locking a current kernel. I have done this on an i686 32 bit version of Tumbleweed before. This machine is currently display: inxi -Fxz

System:
  Kernel: 6.6.11-1-default arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    Desktop: KDE Plasma v: 5.27.10 Distro: openSUSE Tumbleweed 20240112

I know a little bit about adding an additional kernel to entry to /etc/zypp/zypp.conf. I edited as follows: multiversion.kernels = latest,latest-1,running,6.6.11-1 then locked following kernel packages: kernel-default 6.6.11-1 and kernel-default-devel 6.6-11.1 (see attached upload).


I am somewhat confused about the 3 related and uninstalled packages listed as follows:
kernel-default-base
kernel-default-base rebuild
kernel-default-vdso

  1. If having to revert to operating under 6.6.11-1 eventually, would it not be best to install and lock all 5 of these packages?
  2. Am I missing anymore steps in this process that I am unaware of?
    -Thanks

Kernel locking on infamous host erlangen:

erlangen:~ # zypper al kernel-default
Specified lock has been successfully added.
erlangen:~ # zypper ll kernel-default

# | Name           | Type    | Repository | Comment
--+----------------+---------+------------+--------
1 | kernel-default | package | (any)      | 

erlangen:~ # zypper ll -- kernel-default
--matches    --solvables  
erlangen:~ # zypper ll --solvables kernel-default
Retrieving repository 'Application_Geo' metadata .....................................................................................................................................................................................[done]
Building repository 'Application_Geo' cache ..........................................................................................................................................................................................[done]
Loading repository data...
Reading installed packages...

# | Name           | Matches | Type    | Repository | Comment
--+----------------+---------+---------+------------+--------
1 | kernel-default | 4       | package | (any)      | 
    Keep installed : [3]
        kernel-default-6.6.11-1.1.x86_64 (@System)
        kernel-default-6.6.10-1.1.x86_64 (@System)
        kernel-default-6.6.9-1.1.x86_64 (@System)
    Do not install : kernel-default-6.6.11-1.1.x86_64 (Haupt-Repository (OSS))

erlangen:~ # 

Upgrade will skip new kernel:

erlangen:~ # zypper -n dup -dD
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...

The following 3 items are locked and will not be changed by any action:
 Installed:
  kernel-default-6.6.9-1.1 kernel-default-6.6.10-1.1 kernel-default-6.6.11-1.1

The following 15 packages are going to be upgraded:
  Mesa-dri Mesa-gallium Mesa-vulkan-device-select libopenaptx0 libvdpau_r600 libvdpau_radeonsi libvlc5 libvlccore9 libvulkan_radeon obs-studio vlc vlc-lang vlc-noX vlc-qt vlc-vdpau

15 packages to upgrade.
Overall download size: 0 B. Already cached: 127.0 MiB. Download only.
Continue? [y/n/v/...? shows all options] (y): y
In cache obs-studio-29.1.3-1699.1.pm.32.x86_64.rpm                                                                                                                                                                     (1/15),  84.5 MiB    
In cache Mesa-gallium-23.2.1-1699.364.pm.19.x86_64.rpm                                                                                                                                                                 (2/15),  12.1 MiB    
In cache libvdpau_radeonsi-23.2.1-1699.364.pm.19.x86_64.rpm                                                                                                                                                            (3/15),   3.8 MiB    
In cache Mesa-vulkan-device-select-23.2.1-1699.364.pm.19.x86_64.rpm                                                                                                                                                    (4/15),  61.7 KiB    
In cache libvlccore9-3.0.20-1699.5.pm.10.x86_64.rpm                                                                                                                                                                    (5/15), 468.8 KiB    
In cache libopenaptx0-0.2.0-1699.10.pm.67.x86_64.rpm                                                                                                                                                                   (6/15),  20.2 KiB    
In cache libvdpau_r600-23.2.1-1699.364.pm.19.x86_64.rpm                                                                                                                                                                (7/15),   3.8 MiB    
In cache Mesa-dri-23.2.1-1699.364.pm.19.x86_64.rpm                                                                                                                                                                     (8/15),   8.9 MiB    
In cache libvulkan_radeon-23.2.1-1699.364.pm.19.x86_64.rpm                                                                                                                                                             (9/15),   2.3 MiB    
In cache libvlc5-3.0.20-1699.5.pm.10.x86_64.rpm                                                                                                                                                                       (10/15),  85.1 KiB    
In cache vlc-noX-3.0.20-1699.5.pm.10.x86_64.rpm                                                                                                                                                                       (11/15),   3.7 MiB    
In cache vlc-lang-3.0.20-1699.5.pm.10.noarch.rpm                                                                                                                                                                      (12/15),   5.4 MiB    
In cache vlc-qt-3.0.20-1699.5.pm.10.x86_64.rpm                                                                                                                                                                        (13/15),   1.1 MiB    
In cache vlc-3.0.20-1699.5.pm.10.x86_64.rpm                                                                                                                                                                           (14/15), 690.1 KiB    
In cache vlc-vdpau-3.0.20-1699.5.pm.10.x86_64.rpm                                                                                                                                                                     (15/15),  61.9 KiB    

Checking for file conflicts: .........................................................................................................................................................................................................[done]
erlangen:~ # 

You locked how exactly? What did you do?

I do not see anything related to locks on this screenshot.

Hi , ‘Protected’ not lock. You are correct, I had not performed the Locking/Protection yet.

I was incorrect by saying locked, the 2 packages in last screenshot were unprotected. Now the packages are locked/protected, see screenshot below:

What is the meaning of --solvables? I see nothing in zypper --help about this.
Thanks

erlangen:~ # zypper locks --help
locks (ll) [OPTIONS]

List current package locks.

  Command options:

-m, --matches               Show the number of resolvables matched by each lock. Default: false
-s, --solvables             List the resolvables matched by each lock. Default: false

erlangen:~ # 

Show

cat /etc/zypp/locks
Thinkcentre-M57p:~> cat /etc/zypp/locks

type: package
match_type: exact
case_sensitive: on
solvable_name: kernel-default-devel


type: package
match_type: exact
case_sensitive: on
solvable_name: kernel-default

Thinkcentre-M57p:~>

I have not used the -s command option.

-Thanks

You did not lock “kernel-default 6.6.11-1”. You locked “kernel-default” - any version. Which means zypper will neither remove any installed version, nor install any different version.

zypper (and I presume YaST, I do not use it) does not offer interface to lock specific package version, it only creates locks by package names. It is possible to lock specific version by manually editing /etc/zypp/locks, see man 5 locks.

erlangen:~ # zypper search --match-exact -is kernel-default
Loading repository data...
Reading installed packages...

S  | Name           | Type    | Version    | Arch   | Repository
---+----------------+---------+------------+--------+-----------------------
i+ | kernel-default | package | 6.6.10-1.1 | x86_64 | (System Packages)
i+ | kernel-default | package | 6.6.9-1.1  | x86_64 | (System Packages)
i+ | kernel-default | package | 6.6.11-1.1 | x86_64 | Haupt-Repository (OSS)
erlangen:~ # zypper addlock kernel-default-6.6.11-1.1
Specified lock has been successfully added.
erlangen:~ # cat /etc/zypp/locks 

type: package
match_type: glob
case_sensitive: on
solvable_name: kernel-default-6.6.11-1.1

erlangen:~ # zypper ll --solvables 
Loading repository data...
Reading installed packages...

# | Name                      | Matches | Type    | Repository | Comment
--+---------------------------+---------+---------+------------+--------
1 | kernel-default-6.6.11-1.1 | 0       | package | (any)      | 

erlangen:~ # 

But for what?
LTS kernel is available for TW.

I was thinking to prevent potential machine instability after zypper dup. Mainly as a cautionary measure of sorts.
I see:

Thinkcentre-M57p:~> zypper search --match-exact -is kernel-default
Loading repository data...
Reading installed packages...

S  | Name           | Type    | Version    | Arch   | Repository
---+----------------+---------+------------+--------+------------------
i+ | kernel-default | package | 6.6.10-1.1 | x86_64 | (System Packages)
i+ | kernel-default | package | 6.6.11-1.1 | x86_64 | repo-oss

Another question now is why these kernel-default packages come from different repositories? With the current running config, very seldom 3 kernel options available during grub boot menu.
Another question is the nvidia G05 driver used on this machine can cause problems too after updates I think. I wonder to myself about locking that also. From what I witness now the machines functions: suspend/unsuspend, lock/unlock screen video rendering are working correctly (right now).

(System Packages) is not a repository. It is exactly what it says - packages currently installed on your system but not present in any enabled repository.

Is there a more minimal way to hold/lock more prior kernel-default versions in (System-Packages), seen above only 1 option is available (6.6.10-1.1). Even is a per version hold after they are introduced into the OS?

By increasing the amount of kernels to hold. See /etc/zypp/zypp.conf

multiversion.kernels = latest,latest-1,latest-2,latest-3,latest-4,running

Every setting is explained in this file…

1 Like

Current /etc/zypp/zypp.conf

multiversion.kernels = latest,latest-1,latest-2,latest-3,latest-4,latest-5,latest-6,latest-7,latest-8,latest-9,running,6.6.11-1

When do the number start rounding up, i.e 6.6.11-9 next kernel release is 6.6.12-1?
What is (the GA kernel)?

For stability use Leap. For what you need TW?
If TW is the only option then TS Slowroll + LTS kernel is available.
Nvidia will drop support for your Kepler in September 2024. It is better to change video card for supported one: Nvidia Maxwell or newer, AMD/ATI Radeon HD 2000 or newer.

I do not want to get complete off topic but I see this AMD Radeon for sale. This is a 6450 so much higher than 2000 so it would be something much more supported for longer?


I see now it is SFF though.
-Thanks

Even this 10$ would be wasted…the HD 6450 is even two years older than your actual Nvidia K600…
The recommendation for a HD 2000 which is 16 years old is a really, really bad advice…

Your K600 beats the HD 6450 in all available benchmarks and specs…

The video card that was previously in this machine before the nivida k600 was an nvidia g210.

Hi, how I can see in zypper -n dup -dD ---- d is dry run I think. How I can see manual page for D portion of above command?

-Thanks