Redis教程

Linux入门十一:CentOS软件方式之:【编译方式】安装和卸载程序;(以安装Redis为例演示)

本文主要是介绍Linux入门十一:CentOS软件方式之:【编译方式】安装和卸载程序;(以安装Redis为例演示),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本篇博客的主要内容是: CentOS中有两种软件安装方式;【yum方式】和【编译方式】【yum方式】;本篇博客主要介绍【编译方式】。

目录

一:【编译方式】安装简介

二:【yum方式】和【编译方式】比较:

三:以安装Redis为例,演示【编译方式】安装软件的过程

1.下载Redis源代码

2.解压Redis源码的压缩包

3.编译安装Redis

(1)安装make命令对应的【底层编译器:gcc】

(2)删除【第一次使用make命令后,被污染的源代码目录】,重新获得一个源代码目录

(3)调用make命令,编译安装redis

(补.1)说明:需要注意【yum方式】和【编译方式】还有一个不同

(补.2)启动redis

4.【编译方式】安装的软件:卸载(存疑……)


一:【编译方式】安装简介

(1)如果某个软件,在yum仓库中并没有提供【rpm方式安装的“安装文件”】,此时需要从软件官网下载源代码,采用【编译方式】安装了;

(2)【编译方式】:步骤

                              ● 首先,需要从软件官网去下载源代码(当然,也可从GitHub等网站上去下载源代码);

                              ● 然后,利用Linux自带的编译命令,对源代码进行编译,生成可执行文件;

(3)Linux自带的编译命令就是make;


二:【yum方式】和【编译方式】比较:

(1)兼容性:

                              ● 【yum方式】:软件开发商要为每一种Linux发行版提供对应的安装包;甚至,有些软件针对CentOS 6和CentOS 7的安装包都不通用。因此,通用性比较差;

                              ● 【编译方式】:代码都是通用的,我们只需要对源代码进行编译,就可以获取到应用程序了;

(2)复杂度:

                              ● 【yum方式】:“傻瓜式”自动快速完成;

                              ● 【编译方式】:底层的依赖需要我们手动去安装,安装过程比较复杂;

(3)安装速度:

                              ● 【yum方式】:该方式背后,只需要文件的解压和复制,比较快;

                              ● 【编译方式】:要对每一个源代码进行编译,然后再去运行,过程较慢;

(4)来源:

                              ● 【yum方式】:应用仓库;

                              ● 【编译方式】:去官网下载源代码;

(5)应用场景:

                              ● 【yum方式】:该方式提供了大多数我们日常使用的系统软件,对于这些软件,直接使用比较简单点的【yum方式】安装就好了;

                              ● 【编译方式】:一些小众的开源软件;软件的最新版本;就需要获取源代码,通过【编译方式】安装了;(即【yum仓库】中提供的软件安装包往往都不是最新的)


三:以安装Redis为例,演示【编译方式】安装软件的过程

Redis是一款非常著名的NoSQL数据库,在系统通常起到缓存的作用。

1.下载Redis源代码

但这儿,我们演示安装的是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;(然后,软件厂商为其他版本的操作系统准备的安装包,扩展名就不是rpm了)

(2)删除【第一次使用make命令后,被污染的源代码目录】,重新获得一个源代码目录

但是,在安装好gcc后,再次调用make命令:

为此,需要将先前解压的redis安装包目录删除,然后重新解压一个:

(3)调用make命令,编译安装redis

(补.1)说明:需要注意【yum方式】和【编译方式】还有一个不同

【yum方式】:会自动在系统的/usr/bin目录下生成对应的应用程序;

【编译方式】不会在系统的/usr/bin目录下生成对应的应用程序;其只能在当前目录成生成应用程序;即【yum方式】和【编译方式】,应用程序存放的地点是不一样的。

确实,通过实测:使用yum list installed并没有找到redis:

………………………… 

这是原本redis源代码目录中, src目录下的内容:

 然后,这是安装redis后,src目录的内容,可以看到新增了几个可执行命令;(即与【yum方式】不同,【编译方式】只能在当前目录成生成应用程序)

(补.2)启动redis

使用【Ctrl+C】停掉redis,退回到Linux命令状态:

本篇博客的重点不是redis,所以这儿就不详细介绍redis了。

……………………………………………………

4.【编译方式】安装的软件:卸载(存疑……)

本部分参考自:https://zhidao.baidu.com/question/1667789691753258627.html;

卸载【使用编译方式安装的软件】,可以使用【make uninstall】命令;

但是之后部分软件有【make uninstall 之类的功能】,大多数软件是没有的;

因此可以在configure的时候加个preifx参数,比如 --preifx=/opt/squid,这样当你不用的时候直接rm -rf /opt/squid 就可以了。(讲道理,这儿不咋懂……)

本部分参考自:Linux 中make install安装的软件怎么卸载掉,【cincoutvc 】的回答; 

Linux中用make install方式(编译安装)安装的软件只需要将它的安装目录删除掉就可以完成卸载了,具体删除哪个目录需要打开源码里面的Makefile文件,查看Makefile里面的install信息。比如用源码编译安装的Apache,通过查看Makefile文件得知它安装在/usr/local/apache目录,卸载它只需要删除/usr/local/apache目录就可以了:
rm -rf /usr/local/apache

本部分参考自: Linux 中make install安装的软件怎么卸载掉,【百度网友711eabb  】的回答; 

Linux又没有注册表的概念,文件目录一个一个删除不就行了

所以,目前来看,通过【编译方式】安装的软件,要想卸载,直接暴力删除对应的源代码目录!(存疑……)

这篇关于Linux入门十一:CentOS软件方式之:【编译方式】安装和卸载程序;(以安装Redis为例演示)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!