Linux软件安装
Linux软件安装的本质
对于安装软件最基本的理解就是把可执行程序拷贝到指定路径下,我们知道直接输入指令就可以实现想要的功能,这些指令本质上都是放在指定路径下的可执行文件,如果我们把写好的程序编译后的可执行文件放到指定路径下,我们的程序就可以像指令一样使用了。
我写了一个程序重命名为printabc
,功能是输出abc
,可以看到我们运行printabc
时还要指定路径,然后我们查看ls指令的所在路径,把printabc
拷贝到ls所在的路径 。
拷贝完成后我们可以用which
查看我们printabc
的路径(which
是查看指令所在的路径),然后我们不用再指定路径了,直接输入printabc
就可以直接运行了,此时相当于我们安装了printabc
这个软件!
Linux安装软件的方法
-
源代码安装
源代码安装就是把别人写好的源码下载下来解压,然后配置安装目录,编译源码进行安装。听起来很便捷,不过实际上在编译这个阶段会出很多问题,比如编译器版本不同可能导致编译不通过,或者是交叉编译并且源码本身移植性很差,就会出现各种问题导致安装失败。
-
rpm包安装
当然也有人直接编译好的文件直接打包,我们解包(tar指令)后,就可以安装了。但是实际的问题是我们首先要找,其次是其源码是依赖于一些第三方库还有编译器的,并且有些包的软件还依赖于其他的软件(可理解为前置软件),也是不方便。
-
yum一键式安装(
ubuntu
中是apt-get
) yum是包管理器,一句指令就能安装,具体原理我们下面讲解。
yum
yum安装原理
在介绍yum安装原理之前我们需要先介绍更通俗易懂的安装方式,也就是应用商店的安装原理,比如小米的应用商店,iphone的App Store等等,这里我们拿小米举例。
首先在手机上的大部分软件都是客户端软件,应用商店也是,小米的应用商店是连接着小米的服务器,服务器里都是通过了审核的软件,安全性有保证,而给服务器提供软件的是那些写软件的公司,而我们下载软件就是通过小米应用商店这个客户端去小米服务器下载对应的软件。
在Linux下安装软件,我们前面讲过, 一个通常的办法是下载到程序的源代码, 并进行编译,,得到可执行程序。但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。软件包和软件包管理器,就好比 “App” 和 “应用商店” 这样的关系。
Linux因为其本身是开源的,所以会有很多人去开发软件再开源到Linux社区里,有软件来源。也有一些公司使用Linux操作系统,支持Linux,所以会赞助Linux社区,这样就有了维护存放软件包的服务器的费用了。
而yum就是去连接Linux社区的服务器的一个包管理器,但是Linux社区的服务器在外网,因为一些众所周知的原因,我们是很难访问的。所以就有国内的镜像服务器,就是把外网Linux服务器的软件包拷贝到国内的服务器上,再免费供我们下载。比如清华大学、网易、阿里巴巴的镜像源。
服务器的链接在一个文件里保存着,绝对路径为/etc/yum.repos.d/CentOS-Base.repo
,这里是官方软件源,里面都是得到官方认可并且经过时间考验没有问题的软件,还有一些比较新的软件,或者是用的人少,还在测试的软件存放在另一个软件源,其链接在epel.repo
里,其绝对路径为/etc/yum.repos.d/epel.repo
,如果没有就输入yum install -y epel-release
即可(现在需用root账户安装),当你想安装一个软件时yum会把所有软件源都搜索一次。
yum使用介绍
安装软件和卸载软件都是需要向系统目录进行修改,一般需要sudo
或者root
账户才能完成。
yum install 软件名
:安装软件
yum remove 软件名
: 卸载软件
安装一个小火车软件:yum install sl
安装完毕后输入指令sl
就可以看见一个小火车在前进。
虚拟机创建的Linux其yum的软件源大概率还是国外的,想要修改成国内的话百度搜索即可