Linux Tutorials - Herong's Tutorial Examples - v5.45, by Herong Yang
Manage DNF Package Repositories
This section provides a tutorial example on how to manage DNF Package Repositories on CentOS systems.
What Is DNF Package Repository? - A DNF Package Repository is a remote server that provides software packages ready to be installed on your local computer using the DNF package manager.
By default, DNF comes with a number of repositories pre-defined in the /etc/yum.repos.d/ directory:
herong$ sudo ls -l /etc/yum.repos.d -rw-r--r--. 1 root root 731 Jan 2 2020 CentOS-AppStream.repo -rw-r--r--. 1 root root 712 Jan 2 2020 CentOS-Base.repo -rw-r--r--. 1 root root 756 Jan 2 2020 CentOS-Extras.repo ....
DNF also provides a number of commands for you to manage repositories.
1. List all enabled repositories using the "dnf repolist" command:
herong$ sudo dnf repolist repo id repo name status AppStream CentOS-8 - AppStream 5,058 BaseOS CentOS-8 - Base 1,695 extras CentOS-8 - Extras 30 ...
2. Add a new repository using the "dnf config-manager --add-repo" command. For example:
herong$ sudo dnf config-manager --add-repo \ https://repos.azul.com/zing/rhel/zing.repo Adding repo from: https://repos.azul.com/zing/rhel/zing.repo (Or put the *.repo file directly into /etc/yum.repos.d/) herong$ sudo curl -o /etc/yum.repos.d/zing.repo \ https://repos.azul.com/zing/rhel/zing.repo herong$ sudo dnf repolist repo id repo name status ... zing zing-8 - Azul Systems Inc., Zing packages for x86_64 256
3. Disable a repository using the "dnf config-manager --set-disabled" command. More repositories enabled requires longer search time! For example:
herong$ sudo dnf config-manager --set-disabled zing (you can enable it later) herong$ sudo dnf config-manager --set-enabled zing
4. Some third party repositories put their *.repo files in DNF default repositories, so that they can be installed as "normal" packages. For example:
herong$ sudo dnf search epel epel-release.noarch : Extra Packages for Enterprise Linux repository configuration herong$ sudo dnf install epel-release Installed: epel-release-8-8.el8.noarch
6. Some other third party repositories put their *.repo files in RPM (RedHat Package Manager) files. In this case, you need to download and install it using the RPM tool. For example:
herong$ curl http://repo.iotti.biz/CentOS/8/noarch/lux-release-8-1.noarch.rpm \ > lux-release-8-1.noarch.rpm herong$ ls -l -rw-rw-r--. 1 herong herong 16104 lux-release-8-1.noarch.rpm herong$ sudo rpm -U lux-release-8-1.noarch.rpm herong$ dnf repolist repo id repo name status ... lux CentOS 8 - x86_64 - Lux 226
Here is a list of software package repositories for CentOS systems compiled by https://centos.pkgs.org.
Aeris Atomic CERT Forensics Tools CentOS * Cheese Docker CE Stable ELRepo * EPEL * End Point Galaxy4 GetPageSpeed Ghettoforge * Harbottle * IUS Community Packages * Les RPM de Remi Lux MongoDB 4.2 MySQL * Nginx Nux * OKey Open Fusion Percona PostgreSQL * RPM Fusion * Raven * Repoforge (RPMforge) Springdale * Trinity R14 VirtualBox Webtatic
Table of Contents
Cockpit - Web Portal for Administrator
SELinux - Security-Enhanced Linux
SSH Protocol and ssh/scp Commands
►Software Package Manager on CentOS - DNF and YUM
►Manage DNF Package Repositories
Install and Manage Java Packages on CentOS
Install and Manage Perl Packages on CentOS
Install "git-core" for GitHub Packages on CentOS
Failed to Download Metadata for Repo ...
Replacing CentOS Repositories to Local Mirrors
vsftpd - Very Secure FTP Daemon