目录
强烈建议全文阅读!
1、yum是什么?什么是软件包?
在手机上安装应用软件的时候,例如应用商城
你的手机本身是没有这个软件的
而是需要在应用商城去下载
下载的过程,就是和后台服务器进行数据传输
后台服务器将软件的数据向你的手机进行传输
在这样的模式下,只要应用商城有的软件,你都可以进行下载
此时应用商城就是一个软件下载安装管理的客户端
苹果手机的应用商城是ios系统下的软件下载安装管理;
华为手机的应用商城是鸿蒙系统下的软件下载安装管理;
Micorosoft Store是微软下Windows系统下的软件安装管理;
所以,yum就是这么一个东西:和手机上的应用商城一样,只是yum是Linux操作系统下的软件下载安装客户端
同时,在下载一个软件时,会有一大堆的相关配置的文件包
也就是说,一个文件a的正常运行,可能需要文件b、文件c的支持,共同作用下才能正常运行
这就叫做文件依赖关系
我们在下载游戏时,下载的很多依赖文件是程序员都给我们打包好了
那么在下载软件包的时候,我们都会面临文件依赖关系的问题
但是,在Linux系统下的yum,已经帮我们解决了这个问题
你只需要下载就行,不需要考虑其他
同时,在下载软件包的时候,也就是说,类似于文件打包以及yum解决文件依赖关系这些问题
是谁干的?
要知道,Linux是一个开源的项目。
所以,这个就牵扯到一个Linux系统生态的问题
2、Linux系统(Centos)的生态
下载软件,有三种方式:源代码安装、rpm安装(rpm是一种压缩格式)、yum安装
源代码安装:你把源代码直接拿过来,在你自己的系统下进行安装配置
但是在这个过程中,会面临诸多问题:其中一个就是系统版本问题,版本不对应,你需要自己解决环境编译的问题
于是,就有些程序员动了脑筋,将同一份源代码在各不同的系统版本环境下编译好,形成一个可执行程序,将之打包为一个rpm文件包
这个时候你就可以选择对应的版本,直接拿着这个rpm包进行安装了
但是,软件下载对应的库配置是多样的,rpm不会把对应的库也给打包进去
所以,如果你下载的rpm包依赖C++库,但是却没有
这个时候你还是需要自己去配置
也就是说你依旧需要自己去解决文件依赖的问题
很麻烦。
所以,yum就在rpm的基础上再进一步,解决了文件依赖的问题
当你下载的软件需要某些库或者文件时,yum内置了对应的链接,直接调用下载即可
在下载的时候,你输入对应的指令,yum就会通过你的Linux用户向后台服务器对接,搜索找到对应的软件
然后下载(也就是数据传输),最后在你的Linux本地安装
同时世界上有很多服务器,到底要到那一台服务器去调取数据呢?
因为,在我们的机器内部是内置了目标服务器的地址链接
那么,什么叫做生态呢?
Linux有很多不同的版本,例如ubantu、Centos、kali等
他们的底层内核都是一样的,只是套了不同的壳
一个红色的、一个绿色的、一个黑色的
所以,既然这些操作系统应用内核都是一样的,也就是说不会在性能上有很大的差别
那么,我们该如何选择版本呢?
这就是涉及到,你的需求是什么?
例如说,你是一个企业
那么你关心的一定企业级别的应用场景
例如,有一款操作系统软件A,有大型企业正在用
那么,有大型企业在用
就会暴露出对应场景的很多问题
于此同时,也会有很多配套的解决方案
这个系统社区里的人都在讨论企业相关的问题
大家都是一个圈子的,你有什么问题,方便解决
所以,不用说,你肯定会选择这样这个操作系统
反过来,这个操作系统同时也会吸引更多的企业进驻
进一步扩大这个系统的用户
暴露何种问题的机会更多
暴露的问题多了
解决的方案就多
解决的漏洞多了
这个操作系统就会变得更加可靠、安全
反过来吸引更多的,对这个领域有需求的用户进驻
互相促进。
所以,加入有一款操作系统,就只有操作系统
你要一个软件,没有
你要解决一个问题,没有文档
你要讨论一个问题,没有人用
总之,什么都没有
那你会用吗?
不会。
那么,这些对应的,围绕着用户需求而生的一系列的配套的诸如软件、社区、文档、用户角色等等等
就叫做生态。
所以,现在市场上有那么多版本的操作系统,但是各自有着不同的的生态
例如Centos是企业用的多,社区讨论的多是企业怎么样怎么样(企业的人在用)
Kali多是讨论的与网络安全相关的(测试与网络安全领域的人再用)
ubantu多是讨论的配置环境,什么分布式数据之类的(多是学生)
简单地将,就是物以类聚。
3、yum相关操作
查看:
yum list | grep XXX
下载:
[sudo/root身份] yum install [-y] list 软件名
卸载:
sodu yum [-y] remove 软件名
yum有两个软件源:
base:稳定的软件源
epel:扩展软件源
文件位置:/etc/yum.repos.d
安装扩展软件源:sudo yum -y install -y epel-release
4、yum本质配置
当你要下载某个软件时,
yum会根据/etc/yum.repos.d/该路径下的配置文件,来构成自己的下载链接,根据os版本,下载适应的软件。yum会帮助我们下载、安装
一般的机器,内置的链接地址是centos的官网,软件链接指向的都是国外。yum可能会比较慢,所以你需要配置
如何配置呢?
本质上就是更改文件,或者说更改文件内容
起始就是将yum源从国外改成国内的
wget -O /etc/yum.repos.d/Centos-bash.repo 对应的网址:这里的意思是将对应网址的文件下载下来之后,更名为Centos.bash.repo
yum clean all #清理缓存
yum makecache #生成缓存
yum -y update #升级更新
lrzsz软件:以拖拽的方式,将windows的文件直接上传到linux下
rz:从windows选择文件上传Linux
sz:从Linux选择文件上传windows
如果不是图形化界面,想要从另一台机器传文件:
wget ip地址:/path .
scp ip地址:/path .
(远程拷贝)