前言:
目前看官们对“linux安装软件命令dnf”大致比较看重,小伙伴们都需要了解一些“linux安装软件命令dnf”的相关资讯。那么小编在网上收集了一些有关“linux安装软件命令dnf””的相关内容,希望咱们能喜欢,小伙伴们一起来学习一下吧!#头条创作挑战赛#
1 yum软件包管理yum软件包管理:自动解决依赖关系yum称为软件包仓库,其作用为:为客户端自动解决依赖关系安装软件包
yum命令的用法:
yum [options] [command] [package ...]
yum的命令行选项:
-y #自动回答为“yes”-q #静默模式--nogpgcheck #禁止进行gpg check--enablerepo=repoidglob #临时启用此处指定的repo,支持通配符,如:”*“--disablerepo=repoidglob #临时禁用此处指定的repo,和上面语句同时使用,放在后面的生效1.1 显示仓库列表
yum repolist [all|enabled|disabled]
案例:
[root@nginx dev]# yum repolist[root@nginx dev]# yum repolist all
案例:显示仓库的详细信息
[root@nginx dev]# yum repolist -v1.2 显示程序包
yum listyum list [all | glob_exp1] [glob_exp2] [...]yum list {available|installed|updates} [glob_exp1] [...]
案例:只查看已经安装的包
[root@nginx dev]#yum list installed|head
案例:查看可安装的包
[root@nginx dev]#yum list available |head
案例:查看可以升级的包
[root@nginx dev]#yum list updates
案例:查看指定的包
[root@nginx dev]#yum list exim[root@nginx dev]#yum list exim*1.3 安装程序包
yum install package1 [package2] [...]yum reinstall package1 [package2] [...] #重新安装 --downloadonly #只下载相关包默认至/var/cache/yum/x86_64/7/目录下,而不执行install/upgrade/erase--downloaddir=<path>, --destdir=<path> #--downloadonly选项来指定下载的目录,如果不存在自动创建1.4 安装epel源包1.4.1 安装epel源
[root@nginx ~]#yum -y install epel-release[root@nginx ~]#yum -y install sl[root@nginx ~]# rpm -ql sl/usr/bin/sl/usr/share/doc/sl-5.02/usr/share/doc/sl-5.02/LICENSE/usr/share/doc/sl-5.02/README.ja.md/usr/share/doc/sl-5.02/README.md/usr/share/man/ja/man1/sl.1.ja.gz/usr/share/man/man1/sl.1.gz#运行安装sl程序,可以看到下面火车,这标志着你已经是一名合格的老司机[root@nginx ~]# sl -a
[root@nginx ~]# yum -y install cowsay
1.5 卸载程序包
yum remove | erase package1 [package2] [...]1.6 升级和降级
检查可用升级
yum check-update
升级和降级
yum upgrade|update [package1] [package2] [...]yum upgrade-minimal #最小化升级yum downgrade package1 [package2] [...] (降级)
案例:
[root@nginx ~]# cat /etc/yum.repos.d/CentOS-Base.repo1.7 查询
查看程序包information:
yum info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] [...]
注意:文件要写全路径,而不只是文件名,否则可能无法查询到
案例:
[root@nginx ~]# yum provides nginx.conf已加载插件:fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comNo matches found#注意要写文件全路径才能查询到[root@nginx ~]# yum provides /etc/nginx/nginx.conf已加载插件:fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com1:nginx-1.20.1-10.el7.x86_64 : A high performance web server and reverse proxy server源 :epel匹配来源:文件名 :/etc/nginx/nginx.conf1:nginx-1.20.1-9.el7.x86_64 : A high performance web server and reverse proxy server源 :@epel匹配来源:文件名 :/etc/nginx/nginx.conf#使用通配符[root@nginx ~]# yum provides */nginx.conf
以指定的关键字搜索程序包名及summary信息
yum search string1 [string2] [...]
查看指定包所依赖的capabilities:
yum deplist package1 [package2] [...]
案例:CentOS 7 查看未安装包的文件列表
[root@centos7 ~]#rpm -q memcached[root@centos7 ~]#repoquery -ql memcached
案例:CentOS 8 查看未安装包的文件列表
[root@centos8 ~]#rpm -q memcached[root@centos8 ~]#dnf repoquery -l memcached1.8 仓库缓存
清除目录/var/cache/yum/缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:
yum makecache
案例:管理yum缓存
[root@centos7 ~]#du -sh /var/cache/yum[root@centos7 ~]#ls /var/cache/yum/x86_64/7/[root@centos7 ~]#yum clean all[root@centos7 ~]#du -sh /var/cache/yum[root@centos7 ~]#yum makecache[root@centos7 ~]#du -sh /var/cache/yum1.9 查看yum事务历史
yum 执行安装卸载命令会记录到相关日志中
日志文件:
#CentOS 7以前版本日志/var/log/yum.log#CentOS 8 版本日志/var/log/dnf.rpm.log/var/log/dnf.log
日志命令:
yum history [info|list|packages-list|packages-info|summary|addoninfo|redo|undo|rollback|new|sync|stats]1.10 yum仓库构建
yum仓库构建(yum服务端的构建)
[root@nginx ~]#mkdir /dvd[root@nginx ~]#mount /dev/cdrom /dvd/
yum客户端的操作
仓库的配置:/etc/yum.repos.d/*.repo
[root@nginx ~]#ls /etc/yum.repos.d/ #查看yum仓库文件目录[root@nginx ~]#rm -rf /etc/yum.repos.d/* #删除所有yum仓库文件
tag:可以直接将/etc/yum.repos.d/路径下的系统文件删除,也可以将这些系统文件做备份,如下:
[root@nginx ~]# mkdir /etc/yum.repos.d/bak[root@nginx ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
[root@nginx ~]# vim /etc/yum.repos.d/dvd.repo #编辑yum仓库配置文件[dvd] #仓库名称,具有唯一性name=CentOS7.5 #仓库描述信息(name=后面空着不写)baseurl= #指定Yum服务端位置enabled=1 #本文件是否生效(默认是1[生效])gpgcheck=0 #是否检测软件包红帽签名信息[root@localhost ~]# yum repolist #列出仓库信息
baseurl 指向的路径
阿里云提供了写好的CentOS和ubuntu的仓库文件下载链接
CentOS系统的yum源
#阿里云
#华为云
#清华大学
EPEL的yum源
#阿里云
#华为云
#清华大学
2 DNF 介绍
DNF,即DaNdiFied,是新一代的RPM软件包管理器。DNF 发行日期是2015年5月11日,DNF 包管理器采用Python 编写,发行许可为GPL v2,首先出现在Fedora 18 发行版中。在 RHEL 8.0 版本正式取代了 YUM,DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等
配置文件:
/etc/dnf/dnf.conf
仓库文件:
/etc/yum.repos.d/ *.repo
日志:
/var/log/dnf.rpm.log/var/log/dnf.log
DNF 使用帮助:man dnf
dnf 用法与yum一致
dnf [options] <command> [<arguments>...]dnf --versiondnf repolistdnf reposyncdnf install httpddnf remove httpddnf clean alldnf makecachednf list installeddnf list availablednf search nanodnf history undo 1
2.1 为CentOS 8 配置 yum 的系统和EPEL源仓库
[root@centos8 ~]#cat /etc/yum.repos.d/base.repo[BaseOS]name=BaseOSbaseurl= [AppStream]name=AppStreambaseurl=[epel]name=EPELbaseurl=[extras]name=extrasbaseurl=
注意:与之前的版本不同,CentOS 8 系统有两个yum 源:BaseOS和AppStream ,需要分别设置两个仓库
标签: #linux安装软件命令dnf #centos安装dnf