在 CentOS 8 上使用 DNF 管理软件包

DNF代表Dandified YUM是基于RPM的Linux发行版的软件包管理器。它用于在Fedora / RHEL / CentOS操作系统中安装,更新和删除软件包。 它是Fedora 22,CentOS8和RHEL8的默认软件包管理器。 DNF是YUM的下一代版本,并打算在基于RPM的系统中替代YUM。 DNF功能强大且具有健壮的特征。DNF使维护软件包组变得容易,并且能够自动解决依赖性问题。


已安装包的列表

dnf list installed

或者

dnf list available


查找与安装软件包

dnf search httpd


安装httpd包命令:

dnf install httpd


重装httpd:

dnf reinstall httpd


某些情况下,你需要下载软件包而不是安装它。你用下列命令下载指定包:

dnf download httpd


你能用命令查看http包的详细信息:

dnf info httpd


更新系统包

首先,用以下命令你能检测你系统上的所有系统包的更新

dnf check-update


更新系统中的所有安装包

dnf update


更新特定的软件包:

dnf update httpd


列出安装组包(Group packages)

dnf grouplist


现在,安装特定的组包:

dnf groupinstall 'System Tools'


你也能用下列命令更新组包:

dnf groupupdate 'System Tools'



列表库(List Repositories)

列出所有库文件:

dnf repolist all

现在,用下面的命令仅列出系统上的存储库

dnf repolist


卸载包(Remove packages)

卸载不要的http包:

dnf remove httpd


去除安装httpd不要的依赖包

dnf autoremove


使用以下命令清除所有缓存的软件包:

dnf clean all



更新国内源

CentOS 8 换源,设置dnf / yum镜像

aliyun更新了centos8的说明


curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

centos 8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的。

如果你的网络访问centos.org的mirrorlist有问题,可能才需要另外配置镜像


cd /etc/yum.repos.d
#备份
cp CentOS-Base.repo CentOS-Base.repo.bak
cp CentOS-AppStream.repo CentOS-AppStream.repo.bak
cp CentOS-Extras.repo CentOS-Extras.repo.bak

sed -i 's/mirrorlist=/#mirrorlist=/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo
sed -i 's/#baseurl=/baseurl=/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo
sed -i 's/http:\/\/mirror.centos.org/https:\/\/mirrors.aliyun.com/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo



参考:

https://www.jianshu.com/p/64e12bea3d49

https://www.howtoforge.com/tutorial/centos-8-package-management-with-dnf-on-the-command-line/

https://www.cnblogs.com/wswind/p/11751829.html

https://www.mivm.cn/centos-8-install-o-repo-package