Hi, I’m fairly new to Rocky, but not to Linux and I can’t believe I’m having an issue on something as simple as adding the epel repository to my system, but there you go:
[root@ns8 ~]# dnf repolist
repo id repo name
crb Rocky Linux 9 - CRB
ns-appstream NS8 Rocky Linux 9 - AppStream
ns-baseos NS8 Rocky Linux 9 - BaseOS
[root@ns8 ~]#
[root@ns8 ~]#
[root@ns8 ~]# dnf install epel-release
Last metadata expiration check: 0:01:35 ago on Wed Apr 24 13:20:22 2024.
No match for argument: epel-release
Error: Unable to find a match: epel-release
[root@ns8 ~]# dnf list epel-release
Last metadata expiration check: 0:01:59 ago on Wed Apr 24 13:20:22 2024.
Error: No matching Packages to list
[root@ns8 ~]#
No, only one. Only files with extension *.repo define repos. The other filename ends with .rpmnew.
The rocky-extras.repo is flagged as config file in the RPM package.
When package is updated, files of old version are removed and files of now version are added.
User (admin) may modify config files. If they are simply replaced on update, then modifications are lost. That’s why files flagged as config get special treatment.
There is a modified config file. What should dnf do?
Plain replace is not the option
Merge of changes is above paygrade of dnf
Keep the old file and store the new as rocky-extras.repo.rpmnew
The user can merge the changes from update.
Rename the old file to rocky-extras.repo.rpmold, save new file as rocky-extras.repo
The users have to merge their modifications, if they still want them.
As corollary, if you remove a package that has modified config files, those are stored with .rpmsave suffix.
One could seek /etc for *.rpm{new,old,save} after updates to spot things that may need attention. (The dnf does mention events, but how closely do we stare at its output?)
We do see that both rocky-extras.repo and rocky.repo have been modified.
We do also see that the modifications in rocky.repo have renamed baseos and appstream and probably changed other attributes too. Perhaps you have local mirror for them (but not for ‘crb’)?
Yeah, it’s a pre-built image of Nethserver. Guess I’m going have to wrangle with them as to the best way to handle the BaseOS and AppStream Repositories and to add the Extras repo.