Repolist problem

im a new Rocky linux user , and i just installed Rocky linux , when i dnf install some rpms ,such as alacritty,bspwm,picom,it shows unable to find ,i dont know if i should add some more repolist,my repolist is

repo id repo name
appstream Rocky Linux 9 - AppStream
baseos Rocky Linux 9 - BaseOS
cloud-common Rocky Linux 9 - SIG Cloud Common
cloud-kernel Rocky Linux 9 - SIG Cloud Kernel
crb Rocky Linux 9 - CRB
docker-ce-stable Docker CE Stable - x86_64
elrepo Community Enterprise Linux Repository - el9
epel Extra Packages for Enterprise Linux 9 - x86_64
extras Rocky Linux 9 - Extras

It usually means the package doesn’t exist if dnf doesn’t find it (or in some cases, the repo it exists in hasn’t been enabled yet). You have elrepo and epel enabled so it doesn’t seem to be due to this. I suggest using to search for packages, as if they do exist in some third-party repository you haven’t yet enabled, then you’ll see it on that website, and can then enable the appropriate repo.

If they don’t exist, then you can always request if EPEL can create and maintain it.

thank you for reply my bro , but i think these RPMs are really common used,why we cant put it in the default repolist

Rocky is based on RHEL (Red Hat), so if RHEL don’t include them, then they don’t appear in the default repos. Rocky is a 1:1 bug-for-bug of RHEL. You should be complaining to Red Hat for packages they don’t include if it’s that important for you, or request that they be added to EPEL. Obviously they are not there for a reason.

I’ve been using Linux for over 20 years, never used those packages. So not common for me. I guess it depends on what you want to do. Obviously Red Hat doesn’t think they are commonly used either.

A repository contains some RPM packages.

The 'dnf ’ looks for repo definitions from /etc/yum.repos.d/
A repo definition has URL of a repository and whether the repository is “enabled”.
The ‘dnf’ seeks packages from enabled repos.

One could hence have:

  • Machine with no definition of ‘docker-ce-stable’ – does not know that that repo exists
  • Machine with disabled ‘docker-ce-stable’ – does know about repo, but does not use it by default
  • Machine with enabled ‘docker-ce-stable’ – does know about repo and does use it by default

What packages are in a repository? That is decided by the maintainers of the repository.
The ‘baseos’, ‘appstream’, and ‘crb’ Rocky populates like RHEL repos. In the ‘extras’ Rocky has something extra.
The EPEL is packages for RHEL that RHEL does not have. EPEL has its own maintainers.
The ELRepo is (mostly) drivers for RHEL that RHEL does not have. ELRepo has its own maintainers.
Similarly, each SIG has its own repo for specific purpose.

Some third-party repositories do cause conflicts, if used together. With every third-party repo you have to assess how trustworthy it is.

i know that,but dint knoen how to find the rpms i need, so which repo i should add if i need dnf install “alacritty”?

I usually ask Google if my repos don’t have a package.
E.g. “picom rpm” and do look at the pkgs org and RPMfind hits.

In this case none of the three names has “EL repo” hits. They all do have “Fedora” hits.
I would pull src.rpm from some Fedora and attempt rebuild (with mock that is in EPEL).
If that succeeds, then I get package file(s) to install (with dnf install).