序言
上一篇我们了解啦Linux系统中,根目录下的各个文件夹是做什么用的啦,也学会文件如何压缩打包。那么接下来我们就该用到这个系统啦。用这个系统,就是用这个系统的软件,那么我们对我们需要的软件如何安装,对不需要的软件如何卸载,本篇就此做个详解。
我们针对的系统为Centos,那么Centos的主要软件管理有3种,源码与tarball,rpm与srpm,yum。
我会在讲解每一种安装方式的同时,写一个我们开发常用到的软件实例的安装,源码安装redis,rpm安装rabbitmq,yum安装nginx。
源码与tarball方式安装软件的几个名词
在安装之前我们先说几个名词,对于开发人员来说应该是一目了然的。
开放源码:就是用编程语言写的程序代码,人懂机器不懂,无法在系统中执行。
编译程序:将程序代码转译成为机器看得懂的语言。
gcc:Liunx系统中最常见的语言为c语言,而c语言在linux上面最标准的编译程序就是gcc。它是由GNU计划所维护。对GNU有兴趣的话大家可以网上搜下资料。
利用gcc编译器进行程序的编译流程示意图:
可执行文件:经过编译程序变成二进制程序后机器能够看得懂所以称为可执行的文件。
函数库:类似子程序的角色,可以被调用来执行的一段功能函数。又分为动态函数库与静态函数库,动态函数库以so结尾,通常被命名为libxxx.so,编译时程序中只保存起指向地址,不合并到主程序中,所以主程序不能独立运行,需包含动态库,且动态库不可随意修改路径。静态函数库以.a结尾,通常被命名为libxxx.a,编译时会将其功能合并至主程序中,运行是不需要静态库的支持。
程序执行时引用外部动态函数库的示意图如下:
Tarball:这个更容易理解啦,就是为啦方面在网络上下载,软件开发者把源码打包压缩后,放到网上发布的软件文件。一般包含,源代码文件,检测程序文件(可能是configure或config等文件名),本软件的简易说明与安装说明(install或readme)。
Tarball方式安装Redis实例演练
基本步骤:
1、下载源文件至/usr/local/src目录下解压缩。
2、取得步骤流程:进入新建的目录下面,去查阅install与readme等相关文件内容。
3、相关属性软件安装:根据install与readme的内容查看并安装好一些相关的软件
4、建立makefile:以自动检测程序(configure或config)检测操作环境,并建立makefile这个文件
5、编译:以make这个程序并使用该目录下的makefile作为他的参数配置文件,进行make(编译)操作
安装:以make这个程序,并以makefile这个参数配置文件,依据install这个目标的指定来安装到正确的路径。
常用命令:
./configure:这个步骤就是在创建 Makefile 这个文件啰!通常程序开发者会写一支 scripts 来检查你的 Linux 系统、相关的软件属性等等,这个步骤相当的重要, 因为未来你的安装信息都是这一步骤内完成的!另外,这个步骤的相关信息应该要参考一下该目录下的 README 或 INSTALL 相关的文件!
make clean:make 会读取 Makefile 中关于 clean 的工作。这个步骤不一定会有,但是希望执行一下,因为他可以去除目标文件!因为谁也不确定源代码里面到底有没有包含上次编译过的目标文件 (*.o) 存在,所以当然还是清除一下比较妥当的。 至少等一下新编译出来的可执行文件我们可以确定是使用自己的机器所编译完成的嘛!
make:make 会依据 Makefile 当中的默认工作进行编译的行为!编译的工作主要是进行 gcc 来将源代码编译成为可以被执行的 object files ,但是这些 object files 通常还需要一些函数库之类的 link 后,才能产生一个完整的可执行文件!使用 make 就是要将源代码编译成为可以被执行的可可执行文件&#