本帖最后由 SPOTO 于 2022-7-20 11:17 编辑
再讲yum工具之前,可能要先给小白说明下,为什么会出现yum。
我们知道,所有注重服务的软件是需要收费的,而Linux下的软件是几乎不考虑用户体验的(因为Linux的用户基本都是工程师级别的,而且Linux是开源的,做的再好也没有收益)。
我们在windows下用的各种各样的软件,我们在使用过程中无时无刻不在夸赞他们的界面美观、使用方便、性能良好,这都是需要成本来运营的,所以这些软件基本都是要变相收费的。
我们使用的软件与软件之间是存在依赖关系的,比如:我们在windows系统下安装了QQ,我们一直在正常使用,但是忽然有一天提示我们需要更新windows,当我们更新完毕后,出现了QQ无法正常打开的错误提示。
这是因为软件之间的依赖关系导致的,因为QQ的运行需要windows系统下的一些配置文件之类的属性文件,当我们更新windows后,这些配置文件更新或者不见了,所以QQ就无法正常运行。
可能会有人有疑问:
可是我在windows下安装软件的时候并没有考虑依赖关系,我们一路随着安装步骤next下去就可以了啊?
这是因为,商家已经考虑到这种依赖关系,并给我们配置好了,所以我们作为用户并不需要考虑这种依赖关系,但是Linux下,是没有人帮你搞定这些依赖关系的,必须我们自己搞定。
yum是什么?
yum的全称是:Yellowdog Updater Modified,是一个基于rpm包管理的Shell前端软件包管理器。
由于是基于rpm包管理器,那么使用的场景也就和rpm类似,主要支持的Linux操作系统为:RedHat、CentOS、Fedora。YUM还提供了图形化前端工具:yumex和kyum,需要在yum正常工作的前提下使用。
yum主要用来解决:下载、依赖关系、安装、卸载四种问题。
我们以手机为例,当我们新买了一个手机,想要下载QQ这个app,应该怎么办?是不是打开应用商店app,搜寻QQ,点击下载并安装?
同样,我们在Linux下载软件应该怎么办呢?
a:源码安装 b:rpm安装包 c:yum
在Linux系统中有一个yum软件服务器,上面有Linux需要的各种软件软件包,我们使用yum命令去云服务器下载我们所需要的软件,然后再本地进行安装。
对于这种行为不知道大家觉得似曾相识,yum的使用本质上和手机应用商店是一样的,所以手机上的应用市场对应Linux下的yum工具。
综上所述:yum是一个客户端软件,作用是帮助我们在远端服务器上下载对应的软件包,并解决我们在本地电脑上的一个安装问题。(好比手机上的应用市场)
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps1.jpg
yum常用操作
在系统安装完毕后已经默认配置了网络源,在网络畅通的情况下,可以使用yum命令完成软件的安装、升级、卸载等操作。
01 常用指令
install {package1} [package2] […
将安装最新版的软件以及相关的依赖,可以同时安装多个软件包,用空格隔开指定的软件包可以是一个名称,也可以是一个rpm软件包文件。
当指定为一个rpm软件包文件时,效果等同于localinstall
update/update-to [package1] [package2] […
不填写软件包参数时将更新系统的所有软件至最新版
指定的软件包可以是一个名称,也可以是一个rpm软件包文件。
当指定为一个rpm软件包文件时,效果等同localupdate。
update-to:可以指定将软件升级至某一版本
check-update:列出所有可更新的软件清单
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps2.jpg
remove/erase {package1} [package2] […:删除指定的软件包
不写任何参数时等同于all:列出所有可用的软件包信息以及已安装的软件包信息
available:列出所有在yum源中可安装的软件包
updates:列出所有在yum中可用于升级的软件包
installed:列出所有已安装的软件包信息
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps3.jpg
info:列出某一个软件或所有软件的详细信息,支持的选项与list相同
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps4.jpg
不填写参数时效果等同于clean all:将会清空所有本地缓存文件。
packages:清空已下载的所有软件包,默认情况下不会自动删除
metadata:清空已下载的元信息缓存文件,再次运行yum时会重新下载进行缓存
expire-cache:清除过期的缓存,如果缓存数据仍然可用,将不会执行删除操作
rpmdb:清空所有缓存在本地的rpm软件数据库信息
plugins:清空所有插件对应的缓存数据
all:清空上面列出的所有缓存数据
makecache:在本地缓存元数据
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps5.jpg
search {string1} [string2] […:根据提供的信息搜索软件包,会优先根据名称搜索,如果未发现会使用描述信息和url匹配
localinstall {rpmfile1} [rpmfile2] […:使用yum安装一个rpm软件包,会自动从可用源中搜索安装所需依赖软件
localupdate {rpmfile1} [rpmfile2] […:使用yum升级一个rpm软件包,会自动从可用源中搜索安装所需依赖软件
reinstall {package1} [package2] […:重新安装某个软件包,以最近一次安装的版本为准
deplist {package1} [package2] […:列出某一个软件包相关的依赖软件列表
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps6.jpg
只截取了部分内容,嗯,果然,rpm软件依赖一不小心就会变成噩梦,yum,感谢有你。
repolist [all/enabled/disabled]
all:显示所有的yum源
enabled:显示所有开启状态的yum源
disabled:显示所有关闭状态的yum源
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps7.jpg
check:检查本地rpm数据库和产品信息是否有误
02 yum常用选项
-y:自动使用yes应答过程中的选项
-q:取消输出内容,静默安装
-v:输出详细信息
-R:设置最大等待时长,单位为分钟
-‌-version:显示当前yum工具版本
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml8380/wps8.jpg
-‌-skip-broken:解决卸载软件时产生的依赖错误问题
-‌-downloadonly:只进行软件的下载
-‌-downloaddir:指定软件包下载路径
每天通过一位IE,每两位IE,一位在思博
群里有一群一起备考的战友哦
回贴可领取实验手册噢
—————————————————————————————————— HCIE/CCIE的提升空间有多少?看看群内聊天讨论就知道!

添加老杨老师微信:spotoa,加入全国网工交流群(已建立50+个),获取更多CCIE/HCIE考试一手资讯+考试必备资料,也欢迎添加网工老杨老师微信:spotoa
【推荐阅读】
|