软件安装--源码安装
在Linux中软件包类型也是多种多样的,大体上我们主要使用的软件包类型可以分为两种,下边先将其中之一:
软件包类型---源码包:
软件的源代码是软件的原始数据,任何人都可以通过源代码查看该软件的设计架构和实现方法,但是源代码不能在计算机中直接运行安装。需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装。不同于RPM的安装方式,源码包安装的方式可以在安装过程中根据自己的需求定制自己所需要的功能,在实际工作当中运行效率更高。 因为Linux操作系统是开放源代码,因而Linux上大部分软件也是开源软件。例如:apache、tomcat、PHP、 MySQL等。开源软件大多都提供源码下载、源码安装等方式。
语言的对比而言,编译语言效率>翻译语言效率;对于的命令的解释,编译语言只需翻译一次,翻译语言每次都需翻译
1.源码包安装软件的优劣
⑴源码包安装优点:
※开放源代码,可以自行修改源代码。
※可以自由选择安装所需功能。
※软件是编译安装,更加稳定高效。
※卸载方便,直接删除安装目录即可。
⑵源码包安装缺点:
※安装过程中过程较为复杂。
※编译过程时间较长(与RPM包相比。
※步骤较多,安装过程中容易出现报错。
2.源码包安装步骤:
注:系统版本中,奇数代表测试版,偶数代表稳定版
①官方网站下载源码包。
②解压并进入源码包目录。
③解压后进入解压生成的文件夹。通常会有名为REDAME的文件。此文件记录了:这个软件所能完成的功能,授 权许可,安装需求,安装注意事项,安装方式等。
④目录中会有一个名为configure的文件。执行 ./configure ,就会开始检测当前系统是否拥有安装软件所需的所有文件和工具。检测成功后会生成makefile文件。而有些软件没有提供configure脚本,直接提供了makefile文件,直接执行make编译步骤。
⑤make:一般在输入make命令时,make命令默认会查找当前目录下的Makefile文件,如果用其他文件作为 Makefile文件那么需要在make之后加-f 子选项来指定Makefile文件。由于需要相应的编译软件才能将源代码转换 为机器识别的语言,所以在执行configure的时候如果没有编译工具就会有error报错,常用工具有gcc、 python、perl等。
make -j 数字(几个处理器编译,取决于机器硬件),如数字是2,则2个处理器编译
make -f 指定特定的makefile
⑥make install:进行安装。
或⑤⑥一起执行:make && make install #&&:表示前一个命令正确执行之后,后一个命令才会执行
其中: ./configure的作用
a.检查编译器{gcc等}启动器{make等}
b.检查软件的依赖关系{若有依赖关系,则提示需要安装哪个文件}
c.指定软件安装的路径 --prefix=/···
d.指定软件安装时开启哪些功能 --enable-*
e.指定和其他软件之间的关联 --with-*
f. 产生Makefile
例:nginx安装及网页小修改测试
对于其中rz命令需要采用yum -y install lrzsz安装,
如果本地没有资源包,可通过配置好网络源,采用 wget http://nginx.org/download/nginx-1.12.2.tar.gz进行下载(版本虽然有差异但安装过程无影响)
对于yum源的配置详见软件安装---yum安装篇。