List packages in a repository.
=====================
dnf package manager
=====================
.. contents::
:local:
List repositories
=================
List subscription repos::
sudo subscription-manager repos --list
List enabled repositories::
sudo dnf repolist
sudo dnf repolist --enabled
List disabled repositories::
sudo dnf repolist --disabled
Activate repository::
sudo subscription-manager repos --enable $REPO
List packages
=============
List all installed packages::
dnf repoquery --installed
List packages selected by a user (but not automatically to meet dependenciy requirements)::
dnf repoquery --userinstalled
dnf history userinstalled
List packages in a repository::
dnf repository-packages $REPO list
Check package details
=====================
Check if a package is installed::
dnf list $PKG
rpm --verify $PKG
rpm -V $PKG
Check a package version::
dnf info $PKG
Check repository/origin availability::
dnf whatprovides $PKG
List package's files
====================
::
dnf repoquery -l $PKG
rpm -ql $PKG
Find packages a file belongs to
===============================
Using remote metadata::
dnf provides ifconfig
dnf repoquery --file /usr/sbin/ifconfig
Using installed package DB::
rpm -qf /usr/bin/rpm
Limit search to a specific repository::
dnf repoquery --disablerepo=* --enablerepo=$REPO -f $PATT
List package dependencies
=========================
::
repoquery --requires --resolve $PKG
If you possess a actual RPM::
rpm -qpR $RPM
List of packages that depend on a given
=======================================
::
dnf repoquery --alldeps --whatrequires $PKG
dnf repoquery --installed --whatrequires $PKG
rpm -q --whatrequires $PKG
Dealing with streams
====================
Streams group related package at specific compatible version. Only one version could be installed in
system in time.
For example Node.js has lots of parallel versions::
bash# sudo dnf module list nodejs
Name Stream Profiles Summary
nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime
nodejs 12 common [d], development, minimal, s2i Javascript runtime
nodejs 14 common [d], development, minimal, s2i Javascript runtime
nodejs 16 common [d], development, minimal, s2i Javascript runtime
nodejs 18 common [d], development, minimal, s2i Javascript runtime
You select specific stream::
sudo dnf module install nodejs:18
In order to change stream one need to remove all the packages from original stream and reset the
stream::
sudo dnf module remove nodejs
sudo dnf module reset nodejs
sudo dnf module install nodejs:16
Subscription manager
====================
https://developers.redhat.com/articles/renew-your-red-hat-developer-program-subscription
To renew subscription just login to https://developers.redhat.com/ and wait 15 min.
Cleanup actions from broken previous subscription::
sudo subscription-manager remove --all
sudo subscription-manager unregister
sudo subscription-manager clean
sudo subscription-manager register --username ...
sudo subscription-manager refresh
sudo subscription-manager attach --auto