前言
前面我们已经对基本的指令和权限进行了介绍,本期开始我们将介绍常用的开发工具。例如:软件包管理器yum。
本期内容介绍
Linux上安装软件的方式
什么是yum
yum的相关操作
yum的本地配置和yum源
一、Linux上安装软件的方式
在介绍Linux上如何安装一款软件前,我们可以想一下,平时在手机上或者在Windows上是如何安装一款软件的?毫无疑问正常情况下,是不是打开应用商店、搜索、点击下载、然后安装!例如:
在Linux没有图形化界面该如何下载安装一款软件呢?在Linux上安装软件的方式有三种!分别是:源代码安装、rmp包安装、yum安装!
源代码安装
因为Linux是开源的,很多的源码都是公开的,你如果需要哪个软件,你可以找到相应的源码自己编译运行生成可执行程序。
但是有个很大的问题就是有可能发布这个源代码的是在redcat或其他版本、或旧的系统上发布的,你把源代码拷贝下来可能会编译报错~!很烦,你就得解决交叉编译的问题!你说我一个普通我就想下载一个微信,你给我一堆源代码,然后好不容易编译但有各种错误,还依赖其他软件~???极其不友好!所以我们极其不推荐这种方式极其极其不适合新手和普通用户~!!!
rpm包安装
基于上面的交叉编译的问题,有一批程序员提前把相关的软件进行在各种环境下编译好打包成rpm包部署到相关的服务器上,等你用的时候你直接找相应的版本的rpm包即可!
这样的确比前者好多了,但linux上很多软件是依赖很多库的,这个对于一般用户也是极其不友好的!你说我好不容易找到了wx的rpm的相应版本的包,但一解压编译一看要xxx动态库?????不推荐!
yum安装
前两者安装装一个软件都很让人烦!于是yum就把以上的所有问题都解决了,帮你把rpm包以及他依赖的各种库和相关软件都给整合到一起!你用的时候直接通过yum指令操作即可~! 我们一般都推荐使用yum
二、什么是yum
yum是一个软件包管理器!或者说yum是一个软件下载安装管理的客户端!例如你的华为商城、小米商城等!
我们知道下载的本质是一种拷贝,但是yum是去哪里拷贝的呢?
我们上面说了程序员在把各个版本的软件编译好了后都会部署到相应的服务器上。也就是说,我们每次yum install xxx的时候是通过网络去到某个服务器上把特定的软件拷贝了一分下来到本地呗!是的!
现在又有一个问题是:你的服务器是如何知道再到到哪个服务器上去拷贝呢?
全国乃至全球有那么多的服务器,你在yum install的时候,你的服务器是如何知道去哪一台上拷贝的了?答案其实很简单:你的服务器厂商一定在内部内置了目标服务器的地址链接!!
三、yum的相关操作
查看软件包
yum list
这是你服务器内置目标服务器的软件都列出来
这样找你要下的软件太费劲了!我们可以借助我们以前介绍的 |(管道)和grep(行文本过滤器)进行对要下载的软件搜索查找!
yum list | grep xxx
这里我们可以举个查找sl的例子
找到了之后就可以安装了!
安装软件包
yum install xxx -y
这里你可以把后面的多少位带上,也可以不带直接给个名字!
这里如果你是普通用户你无法直接下载安装!此时有两种解决方案,1、你把账户切换成root 2、你可以在指令前加一个sudo进行对指令暂提权!一般我们不可能有root的密码,所以一般是第二个!这里的 -y是你在安装时会问你是否安装,y是,n否!如果不想在安装时被问直接-y
此时输入你的密码即可!我以前安装过,所以这里就什么都不做!
你也可以直接带是多少位的他们是一样的!!!
安装好了就可以看到sl的效果了:
删除软件包
yum remove xxx -y
这里的 -y是你在安装时会问你是否删除,y是,n否!如果不想在删除时被问直接 -y
我们举个栗子:我现在把我的sl删掉(注意还是要权限的,要么root,要么sudo):
OK,这里还有一个很好用的软件就是rzsz,我以这个为例,在此演示一下查找、安装、以及删除!
rzsz
这个软件是用于windows和Linux远端服务器通过xshell进行远端文件的传输的!如果安装了这个可以直接将windows的文件拖拽到Linux!!!
查找
yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @base
lrzsz.x86_64:这部分提供了关于软件包名称和架构的信息。
- lrzsz:这是软件包的名称。在这个例子中,它指的是一个名为lrzsz的软件包。
- .x86_64:这是软件包的架构。在这个例子中,
.x86_64
表示这个软件包是为64位的x86架构编译的。0.12.20-36.el7:这是软件包的版本号信息。
- 0.12.20:这是软件包的版本号。在这个例子中,它是0.12.20,主版本号.次版本号.源程序发行号
- -36.el7:这部分是修订版号。在这个例子中,36是修订版号,而el7可能指的是软件包的发行版标识。在这里,el7可能表示这个软件包适用于Enterprise Linux 7。
@base:这表示软件包所属的仓库。
- @base:这个标记告诉你这个软件包来自名为“base”的软件仓库。在Linux系统中,软件包通常会从不同的软件仓库中获取,这个标记有助于识别软件包的来源。
- 这里的base是一个仓库,在这个仓库中的软件代表是稳定的!还有一个是epel这里代表是测试的,非稳定的!
安装
sudo yum install lrzsz -y
删除
前面忘了加 -y这里会询问!!
OK我们可以验证一下:
当然也可以通过指令:
rz
此时你选择文件即可!如果是Linux向windows传文件的话,可不能拖拽!!要用指令
sz filename
四、yum的本地配置和yum源
为什么会存在配置文件?
我们上面就介绍过我们使用yum install xxx下载软件的时候我们的服务器是如何知道去哪里的服务器上拷贝软件包的呢?其实在我们自己的服务器内部一定是内置了目标服务器的地址链接的!我们可以看看,他就在/etc/yum.repos.d/的配置文件下!
所以,yum在下载软件时会根据/etc/yum.repos.d下的配置文件来构成自己的下载链接,去指定的目标服务器去来帮助我们下载相应的软件!但是一般的机器内置的都是centos的官网,软件的链接也是指向国外的,由于国际原因访问起来会很慢,此时就需要配置!!!
如何配置?
配置的本质就是修改文件,或者更改文件的内容!这里就是修改下载链接的指向。这里就涉及yum源的问题!
一般的centos的yum源是:
也就是修改它里面的链接即修改yum源就是在配置yum!
我们可以打开我当前的看看:
我们虽然看不太明白但我们最起码认识这是链接,而且是腾讯云的镜像链接~!而且这些链接是可以在浏览器打开的!
我的已经被配置好了,这里不在配置了,如果你需要配置,请自行上网找到yum源在vim中打开/etc/yum.repos.d/CentOS-Base.repo 文件修改即可!
常见的国内的镜像源
上面也介绍了,因为国际原因直接访问国外的yum可能会很慢,所以一般建议使用国内的镜像!下面是常见的国内镜像源!
阿里云、腾讯云、清华大学、163
OK,本期分享就到这里,好兄弟我们下期再见~!
结束语:
你的努力,终将照亮前行的路!