Linux中安装软件一般有三种方式:
有些软件本来就是开源的,如果不想用别人直接发布好的软件,我们就可以把源代码下载下来,在我们的环境中编译,自己安装
但是这个过程非常麻烦,而且可能会遇到很多问题,比如发布这个软件的人是在Ubuntu下发布的,或者在一个老系统下发布的,这时候这个源代码在我们的电脑上不一定编译通过,所以源代码安装过程中最让人头疼的问题就是编译报错
由于源代码安装非常麻烦,所以就有一批程序员在各种不同的环境下编译好,形成rpm包(压缩格式),这时候我们直接将这个编译好的程序下载过来就行了
rpm包安装还是有一定的问题,在打包的时候可能不会将一些库打包进去,比如c的库,c++的库,图形化界面的库,所以在rpm包安装的时候有一定概率能安装好,但是也不排除安装不全的可能,这个时候就得我们来解决软件的依赖关系,还是很复杂
所以这时候yum就把所有的依赖关系解决,同时也内置一些下载链接,指向去指定地方下载适合我们自己系统的软件,其他的依赖软件也一并下载好
yum可以说是最简单的安装方式
我们以QQ举例,假如我们在Windows中要安装QQ,然后Tencent说给我们把源代码发过来,让我们自己编译,这岂不是很扯了;或者说只有一部分软件,还缺一些库,让我们自己去把这些库下载下来,同样对我们也是挑战;所以最简单的安装方式就是将软件和依赖的库一同打包好,然后提供一个下载链接
我们在我们的centos上输入yum安装指令,yum就会去centos服务器中查找对应的包,然后下载安装的我们本地的centos,至此一个完整的安装过程完成
我们在centos中输入对应的安装命令,就类似于在应用商店中搜索抖音然后安装,服务器那么多,而yum是怎么知道去哪个服务器下载呢?
很简单,我们的机器内部一定内置了目标服务器的地址链接
假设我们要去选择一个系统,Linux系统各版本的底层都是一样的,Linux各系统的区别不会是简单的系统区别,我们选择一个系统,考虑该系统是否完善是最重要的,系统可用是最基本的要求,还要考虑这个系统有没有社区,有没有维护,文档是否齐全,配套的软件是否丰富
如果这个系统开源社区非常活跃,文档很齐全,配套的软件很丰富,问题暴露很快能够解决,有大量的程序员愿意来开发,更重要的是有很多企业来选择,这时会有很多的企业级应用场景暴露出来,这就是操作系统的生态
系统本身没有区别,主要是当年我们给系统设置的调性,吸引了不同种类的人群,构建了不同种类的社区,暴露了特定种类的问题,以及配套的各种问题的解决方案出来了,这才是系统有差别
我们选择系统并不是区分系统本身,而是区分系统的生态和社区
为了有更多的用户选择,系统的开发者一定会维护好系统的生态和社区
“有需求者,就一定有满足需求的人”
在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序
但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安软件包和软件包管理器,就好比 “App” 和 “应用商店“”这样的关系
yum(Yellow dog Updater,Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora,RedHat,Centos等发行版上
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.
安装完毕之后可以通过拖拽的方式将文件上传过去.
关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
可以通过 ping 指令验证
ping www.baidu.com
通过 yum list 命令可以罗列出当前一共有哪些软件包,由于包的数目可能非常之多,这里我们需要使用 grep 命令只筛选出我们关注的包,例如:
yum list | grep lrzsz
结果如下:
lrzsz.x86_64 0.12.20-36.el7 @base
软件包名称:主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
"x86_64" 后缀表示64位系统的安装包,"i686" 后缀表示32位系统安装包,选择包时要和系统匹配.
"el7" 表示操作系统发行版的版本,"el7" 表示的是 centos7/redhat7,"el6" 表示 centos6/redhat6.
最后一列,base 表示的是 "软件源" 的名称,类似于 "小米应用商店","华为应用商店" 这样的概念
通过 yum,我们可以通过很简单的一条命令完成 gcc 的安装
sudo yum install lrzsz
yum 会自动找到都有哪些软件包需要下载,这时候敲 "y" 确认安装
出现 "complete" 字样,说明安装完成
安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切到 root 账户下才能完成
yum安装软件只能一个装完了再装另一个,正在yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错;如果 yum 报错,请自行百度
仍然是一条命令:
sudo yum remove lrzsz
如果我们在Linux中输入命令发现该命令没有的时候,我们就可以通过yum来安装这个命令
具体分为两步:搜索,安装
首先搜索centos yum 安装 + 指令
以zip指令为例,在搜索框中输入centos yum 安装zip
复制安装命令到shell,直接安装即可
yum会根据/etc/yum.repos.d/该路径下面的配置文件,来构成自己的下载路径,(根据OS版本,根据你要下载的软件),yum帮助我们下载,安装
一般的机器,内置的链接地址是centos的官网,软件链接都指向的是国外的,yum可能会比较慢,所以需要配置
本质都是更改文件,或者更改文件的内容
CentOS 7如何配置yum源「建议收藏」-腾讯云开发者社区-腾讯云 (tencent.com)
使用yum一般都是要联网的