小前言:
所有注重为用户服务的软件都是收费的(也可能变相收费),比如在使用Windows的时候你是可以感觉到系统和软件的人性化(除了蓝屏的时候。。),而Linux系统则没有考虑为用户服务的事情。
1.因为Linux是开源系统,做的再好也没有收益
2.使用Linux系统的人一般都是工程师,没必要惯着他们(bushi)
再提一嘴:当你在Windows系统下下载了一个软件时,Windows又双叒要更新,你的软件可能就无法正常打开了。
因为你的软件在下载时是有它对应的配置文件的,你们是有依赖关系的,现在好了,你的Windows更新了,你的配置文件可能就跟着被更新掉了
所以商家为了保证像当米国总统一样使用系统软件,就已经提前为用户设计好了。在安装软件时,用户只要无脑点next就好了
但是Linux下可没人惯着你(免费付出的代价捏)我们必须自己搞定
什么是yum?
我们将yum称为包管理器,主要用来解决:下载、依赖关系、安装、卸载四种问题。
如果你在手机上下载一个软件,只需要打开手机应用商城,点击下载安装,就好了。
而在Linux下则需要
------a:源码安装(把源代码拿来自己编译,但是很麻烦。不一定能在你系统下编译过去,而且我们刚刚说的依赖问题也无法解决)
------b:rpm安装包(编译好压缩好的安装包,相当于tgz、zip这种压缩包,不同的环境呢又有不同的安装版本,大佬把源代码放在各种环境下编译后放出来的压缩包,相当于源码安装的进阶版)
------c:yum(软件和软件有依赖关系,可能这个软件的正常运行还需要图形化界面的库,但是rpm包可能没办法把这些库包过去,yum内部既有下载链接,也解决了依赖关系)
从上述三者可以看出yum的优越性
Linux系统中有一个yum软件服务器,上面有我们需要的各种各样的Linux的软件、小组件。
也就是说:yum是一个客户端软件,作用是帮助我们在远端服务器上下载对应的软件包,并解决我们在本地电脑上的一个安装问题。(好比手机上的应用市场)
yum的安装指令
yum install 目录名
安装完啦
使用yum
安装软件
首先搜索我们要下载的软件
yum list
然后就会库库地刷屏显示软件
图中最左边的一串是名字,后面的x86.84是指在64位下运行的,后面的数字是版本号,el7是系统帮我们找到适用当前环境的安装包,后面@xxx是类似与版权声明(软件提供方)
然后在里面检索
yum list | grep 关键词
安装一下
yum install sl.x86_64
然后输入sl,就会有一辆小火车开过去(什么崩坏星琼铁道)
卸载命令
yum remove sl
yum -y remove sl //不询问直接删
卸载完成!
查看Linux下的任务管理器
yum install htop
打印Linux的logo
yum install linux_logo
cowsay -f xxx
让牛说话
yum install cowsay
还可以让别的动物说话
cowsay -l
使用
cowsay -f 对应的动物 要说的话
一只小王子里面的吞掉大象的蛇捏
查看系统下的yum源
ls /etc/yum.repos.d/
其中Base是yum很稳定的软件源,经过长时间验证的稳定软件存在这里;epel是扩展软件源,相当于游戏的dlc
打开看看
vim /etc/yum.repos.d/CentOS-Base.repo
里面存的都是链接文件,根据链接去对应仓库寻找
wget是从指定网址下载网络文件。wget命令非常稳定,一般即便网络发生波动也不会导致下载失败,而是不断地尝试重连,直至整个文件下载完毕。
wget www.baidu.com
我们找到上图的index.html:
打印:
所以下载不一定要通过点击链接文件,下载本质是网络请求,而构建网络请求命令也可以搞定,所以也可以通过yum安装
我们目前不知道应该安装什么软件,需要根据后续的开发需求进行配置
yum配置
yum会根据上面我们说的那个路径
里面很多配置文件都是在这个路径配的,来构成自己的下载链接,yum帮助下载安装。
一般机器内置的链接是Centos官网链接,在云服务器上,我们下载的软件实际上是下不到本机的,只能下载到云服务器上,yum节能比较慢,使用需要配置本地文件
配置本地就是把本来链接的远端仓库变为离得近的
点击就可以下载
也可以使用我们刚才的从web网站下载的命令
wget -O /etc/yum.repos.d/Centos-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
清除缓存
yum clean all
生成缓存
yum makecache
升级更新
yum -y update
这个过程就相当于从远处调货还要跨一条河,近处的小仓库可以更快调用
使用yum一般都是要联网的(用云服务器的不用管)