●【yum形式】:应用库房;
●【编译方法】:去官网下载源代码;
(5)应用场景:
●【yum形式】:该方法提供了大多数我们日常使用的系统软件,对于这种软件,直接使用比较简单点的【yum形式】安装就好了;
●【编译方法】:一些冷门的开源软件;软件的最新版本;就须要获取源代码,通过【编译方法】安装了;(即【yum库房】中提供的软件安装包常常都不是最新的)
三:以安装Redis为例,演示【编译方法】安装软件的过程
Redis是一款十分知名的NoSQL数据库,在系统一般起到缓存的作用。
1.下载Redis源代码
但这里linux软件安装,我们演示安装的是redis-4版本的,都一样啦。
之后,通过ftp将Redis的源码包上传至/usr/local目录下;
……………………………………………………
2.解压Redis源码的压缩包
……………………………………………………
3.编译安装Redis(1)安装make命令对应的【底层编译器:gcc】
切到redis解压后的目录,尝试使用make命令:
之后,其都会报错:
所以,须要先安装【底层编译器:gcc】:gcc:是C语言源代码的编译工具包;
(PS:之所以这种包都是以rpm结尾的,是不是可以这样理解:(如有错误,随时更改……)
●这些包,原本就是软件厂商为【CentOS系统】而打算的安装包,而【CentOS系统】安装软件的命令是rpm,所以为了对应,软件厂商就把【给CentOS系统打算的安装包的扩充名】定为了“.rpm”)
●我们这里是通过CentOS去下载的这种安装包,而这种软件厂商给CentOS这个版本的操作系统打算的安装包的扩充名就是rpm;(之后,软件厂商为其他版本的操作系统打算的安装包adobe air linux,扩充名就不是rpm了)
(2)删掉【第一次使用make命令后,被污染的源代码目录】,重新获得一个源代码目录
然而,在安装好gcc后,再度调用make命令:
因此,须要将原本解压的redis安装包目录删掉,之后重新解压一个:
(3)调用make命令,编译安装redis
(补.1)说明:须要注意【yum形式】和【编译方法】还有一个不同
【yum形式】:会手动在系统的/usr/bin目录下生成对应的应用程序;
【编译方法】不会在系统的/usr/bin目录下生成对应的应用程序;其只能在当前目录成生成应用程序;即【yum形式】和【编译方法】,应用程序储存的地点是不一样的。
确实,通过实测:使用yumlistinstalled并没有找到redis:
…………………………
这是先前redis源代码目录中,src目录下的内容:
之后,这是安装redis后linux关机命令,src目录的内容,可以看见新增了几个可执行命令;(即与【yum形式】不同,【编译方法】只能在当前目录成生成应用程序)
(补.2)启动redis
使用【Ctrl+C】停掉redis,退回到Linux命令状态:
本篇博客的重点不是redis,所以这里就不详尽介绍redis了。
……………………………………………………
4.【编译方法】安装的软件:卸载(存疑……)
本部份参考自:;
卸载【使用编译方法安装的软件】,可以使用【makeuninstall】命令;
然而以后部份软件有【makeuninstall之类的功能】,大多数软件是没有的;
因而可以在configure的时侯加个preifx参数,例如--preifx=/opt/squid,这样当你不用的时侯直接rm-rf/opt/squid就可以了。(讲道理,这里不咋懂……)
本部份参考自:Linux中makeinstall安装的软件如何卸载掉,【cincoutvc】的回答;
Linux中用makeinstall形式(编译安装)安装的软件只须要将它的安装目录删掉掉就可以完成卸载了,具体删掉那个目录须要打开源码上面的Makefile文件,查看Makefile上面的install信息。例如用源码编译安装的Apache,通过查看Makefile文件得悉它安装在/usr/local/apache目录,卸载它只须要删掉/usr/local/apache目录就可以了:
rm-rf/usr/local/apache
本部份参考自:Linux中makeinstall安装的软件如何卸载掉,【百度网友711eabb】的回答;
Linux又没有注册表的概念linux软件安装,文件目录一个一个删掉不就行了
所以,目前来看,通过【编译方法】安装的软件,要想卸载,直接暴力删掉对应的源代码目录!(存疑……)