====== RH124 Package Management ======
===== TO DO =====
* add epel-release repo
* dnf config-manager and editing config files
* dnf plugins
===== Helpful links =====
* [[https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html-single/managing_software_with_the_dnf_tool/index|Managing software with the DNF tool]]
* [[https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/managing_software_with_the_dnf_tool/dnf-commands-list|DNF commands list]]
* [[https://docs.stg.fedoraproject.org/en-US/quick-docs/dnf/|Using the DNF software package manager]]
* [[https://dnf.readthedocs.io/en/latest/command_ref.html|DNF Command Reference]]
===== The commands =====
* ''rpm''
* ''yum'' (deprecated in favour of ...)
* ''dnf''
===== The currently enabled (or all) repositories =====
Jump ahead to ''dnf'' command briefly:
$ dnf repolist [--all]
repo id repo name
appstream AlmaLinux 10 - AppStream
baseos AlmaLinux 10 - BaseOS
crb AlmaLinux 10 - CRB
extras AlmaLinux 10 - Extras
$
===== The /etc config files and directories =====
==== /etc/yum* ====
Deprecated in favour of ''dnf'':
$ tree -F /etc/yum*
/etc/yum/
├── pluginconf.d -> ../dnf/plugins/
├── protected.d -> ../dnf/protected.d/
└── vars -> ../dnf/vars/
/etc/yum.conf@ [error opening dir]
/etc/yum.repos.d/
├── almalinux-appstream.repo
├── almalinux-baseos.repo
├── almalinux-crb.repo
├── almalinux-extras.repo
├── almalinux-highavailability.repo
├── almalinux-nfv.repo
├── almalinux-rt.repo
├── almalinux-saphana.repo
└── almalinux-sap.repo
$
Note that the repo files are still under yum, for backward compatibility:
==== /etc/dnf ====
$ tree -F /etc/dnf
/etc/dnf/
├── aliases.d/
├── dnf.conf
├── modules.d/
├── modules.defaults.d/
├── plugins/
│ ├── copr.conf
│ ├── copr.d/
│ └── debuginfo-install.conf
├── protected.d/
│ ├── almalinux-release.conf
│ ├── grub2-pc.conf
│ ├── grub2-tools-minimal.conf
│ ├── selinux-policy-targeted.conf
│ ├── setup.conf
│ ├── sudo.conf
│ ├── systemd.conf
│ └── yum.conf
├── usr-drift-protected-paths.d/
└── vars/
└── stream
$
===== Possible EX200 tasks =====
* **Configure RPM repositories**: Set up, enable, or modify software repository definitions and access remote or local repository sources.
* **Install and Remove RPM Packages**: Use DNF or RPM utilities to search for, install, query, verify, and uninstall RPM software packages.
* **Install from Local or Remote Sources**: Install software packages directly from the local file system, remote repositories, or the Red Hat Content Delivery Network.
* **Persistence After Reboot**: Ensure all package management configurations, enabled repositories, and service adjustments persist across system reboots without manual intervention.
===== Detailed package management pages =====
* [[RH124 rpm]]
* [[RH124 dnf]]