Installing software on Alma Linux with dnf is very easy, but installing only security updates when running dnf upgrade is possible.
Run dnf like this to only fetch needed security updates.
[root@2403-4800-25af-b00--2 Doom]# dnf upgrade --security Last metadata expiration check: 0:29:27 ago on Tue Apr 30 16:48:01 2024. Dependencies resolved. ======================================================================================================================================================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================================================================================================================================================== Upgrading: nspr i686 4.35.0-7.el9_3 appstream 144 k nspr x86_64 4.35.0-7.el9_3 appstream 133 k nss-softokn i686 3.90.0-7.el9_3 appstream 392 k nss-softokn x86_64 3.90.0-7.el9_3 appstream 380 k nss-softokn-freebl i686 3.90.0-7.el9_3 appstream 320 k nss-softokn-freebl x86_64 3.90.0-7.el9_3 appstream 305 k nss-util i686 3.90.0-7.el9_3 appstream 90 k nss-util x86_64 3.90.0-7.el9_3 appstream 87 k Transaction Summary ======================================================================================================================================================================================================================================================================== Upgrade 8 Packages Total download size: 1.8 M Is this ok [y/N]: |
Running dnf upgrade –security only downloads security updates. You may also choose a security severity level when installing security updates.
[root@2403-4800-25af-b00--2 Doom]# dnf upgrade --sec-severity=Moderate Last metadata expiration check: 0:37:27 ago on Tue Apr 30 16:48:01 2024. Dependencies resolved. ======================================================================================================================================================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================================================================================================================================================== Upgrading: nspr i686 4.35.0-7.el9_3 appstream 144 k nspr x86_64 4.35.0-7.el9_3 appstream 133 k nss-softokn i686 3.90.0-7.el9_3 appstream 392 k nss-softokn x86_64 3.90.0-7.el9_3 appstream 380 k nss-softokn-freebl i686 3.90.0-7.el9_3 appstream 320 k nss-softokn-freebl x86_64 3.90.0-7.el9_3 appstream 305 k nss-util i686 3.90.0-7.el9_3 appstream 90 k nss-util x86_64 3.90.0-7.el9_3 appstream 87 k Transaction Summary ======================================================================================================================================================================================================================================================================== Upgrade 8 Packages Total download size: 1.8 M Is this ok [y/N]: |
This is a great way to take care of security updates and not to worry about installing all of the other updates as well.
To install a security update to fix a certain known CVE issue, use this string to install any required updates.
[root@2403-4800-25af-b00--2 Doom]# dnf upgrade --cve CVE-2024-26928 Last metadata expiration check: 0:49:40 ago on Tue Apr 30 16:48:01 2024. Dependencies resolved. Nothing to do. Complete! |
The dnf utility may also be used to list all installed files a package will provide. This is a very useful feature. Especially if you need to know where the binaries or other files go.
[root@2403-4800-25af-b00--2 jcartwright]# dnf repoquery -l vim-common | grep man Last metadata expiration check: 0:11:34 ago on Thu May 2 08:39:56 2024. /usr/share/man/da/man1/ex.1.gz /usr/share/man/da/man1/rview.1.gz /usr/share/man/da/man1/rvim.1.gz /usr/share/man/da/man1/view.1.gz /usr/share/man/da/man1/vim.1.gz /usr/share/man/da/man1/vimdiff.1.gz /usr/share/man/da/man1/vimtutor.1.gz /usr/share/man/de/man1/ex.1.gz /usr/share/man/de/man1/rview.1.gz /usr/share/man/de/man1/rvim.1.gz /usr/share/man/de/man1/view.1.gz /usr/share/man/de/man1/vim.1.gz /usr/share/man/fr/man1/evim.1.gz /usr/share/man/fr/man1/ex.1.gz /usr/share/man/fr/man1/rview.1.gz /usr/share/man/fr/man1/rvim.1.gz /usr/share/man/fr/man1/view.1.gz /usr/share/man/fr/man1/vim.1.gz /usr/share/man/fr/man1/vimdiff.1.gz /usr/share/man/fr/man1/vimtutor.1.gz /usr/share/man/fr/man1/xxd.1.gz /usr/share/man/it/man1/evim.1.gz /usr/share/man/it/man1/ex.1.gz /usr/share/man/it/man1/rview.1.gz /usr/share/man/it/man1/rvim.1.gz /usr/share/man/it/man1/view.1.gz /usr/share/man/it/man1/vim.1.gz /usr/share/man/it/man1/vimdiff.1.gz /usr/share/man/it/man1/vimtutor.1.gz /usr/share/man/it/man1/xxd.1.gz /usr/share/man/ja/man1/evim.1.gz /usr/share/man/ja/man1/ex.1.gz /usr/share/man/ja/man1/rview.1.gz /usr/share/man/ja/man1/rvim.1.gz /usr/share/man/ja/man1/view.1.gz /usr/share/man/ja/man1/vim.1.gz /usr/share/man/ja/man1/vimdiff.1.gz /usr/share/man/ja/man1/vimtutor.1.gz /usr/share/man/ja/man1/xxd.1.gz
Use the dnf repoquery -l command to list all files provided by a package.
That is very useful to know what files a package will give you.
[root@2403-4800-25af-b00--2 jcartwright]# dnf repoquery -l bc Last metadata expiration check: 0:32:58 ago on Thu May 2 08:39:56 2024. /usr/bin/bc /usr/bin/dc /usr/lib/.build-id /usr/lib/.build-id/5b /usr/lib/.build-id/5b/a759c4572c450cee75c0a2d21426b93de63086 /usr/lib/.build-id/94 /usr/lib/.build-id/94/1f9273d9786b263db033290447f4cfd1a98e89 /usr/share/doc/bc /usr/share/doc/bc/AUTHORS /usr/share/doc/bc/Examples /usr/share/doc/bc/Examples/ckbook.b /usr/share/doc/bc/Examples/pi.b /usr/share/doc/bc/Examples/primes.b /usr/share/doc/bc/Examples/twins.b /usr/share/doc/bc/FAQ /usr/share/doc/bc/NEWS /usr/share/doc/bc/README /usr/share/info/bc.info.gz /usr/share/info/dc.info.gz /usr/share/licenses/bc /usr/share/licenses/bc/COPYING /usr/share/licenses/bc/COPYING.LIB /usr/share/man/man1/bc.1.gz /usr/share/man/man1/dc.1.gz |
The dnf package manager is a worthy successor to rpm and yum. And it does the job just fine.