龙空技术网

Linux-软件安装yum和dnf

不寐旋律 231

前言:

目前看官们对“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 -v
1.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.repo
1.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 memcached
1.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/yum
1.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