CentOS软件管理 - 编译安装
写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
- 对于文章中出现的任何错误请大家批评指出,一定及时修改。
- 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
- 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
CentOS软件管理 - 编译安装
本文关键字:Linux、软件管理、configure、make、make install
文章目录
- CentOS软件管理 - 编译安装
- 一、环境准备
- 1. 核心组件
- 2. 其他组件
- 二、安装流程
- 1. 解压:tar -zvxf
- 2. 配置:configure
- 3. 编译:make
- 4. 编译检查:make test/check
- 5. 编译安装:make install
一、环境准备
很多软件下载之后是一个源码包,是不能够直接运行的,需要先进行编译安装,生成可执行程序。在进行编译时,需要先使用yum安装编译工具。
1. 核心组件
必须要安装的就是gcc(GNU Compiler Collection)GNU编译器套件,其中包含了C、C++、Objective-C、Fortran、Java、Ada、Go语言前端,也包含了对应语言的库,几乎可以满足绝大部分源码软件对编译环境的需要。
yum install gcc
安装后可解决以下问题:
如果yum使用出现问题,可进传送门:Linux软件管理 - YUM工具
2. 其他组件
在进行实际软件安装时,由于软件与软件之间可能也会存在依赖和调用关系,如:在源码编写时引入了某个类库,如果我们的系统中没有相关的类库,就会编译失败,这个时候我们只要根据报错信息安装相应的缺失类库即可,以下列出了一些常用的类库。
- pcre
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
yum install pcre-devel
- zlib
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
yum install zlib-devel
- curl
src/main.c:18:23: 错误:curl/curl.h:没有那个文件或目录
src/main.c: 在函数‘main’中:
src/main.c:143: 警告:隐式声明函数‘curl_global_init’
src/main.c:143: 错误:‘CURL_GLOBAL_ALL’未声明(在此函数内第一次使用)
src/main.c:143: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
src/main.c:143: 错误:所在的函数内也只报告一次。)
src/main.c:397: 警告:隐式声明函数‘curl_global_cleanup’
make: *** [src/main.o] 错误 1
yum install curl-devel
- openssl
yum install openssl openssl-devel
二、安装流程
1. 解压:tar -zvxf
编译安装的第一步与解压安装类似,需要先进行解压缩,一般都会包含以下目录和内容。
- src目录:软件源码存放位置
- LICENSE:许可及权限信息
- README:帮助说明文档
- configure:用于检测当前系统环境,用户自定义配置,以及生成makefile文件
- Makefile:有可能直接存在,大多数情况下在执行configure后出现,用来指定编译的顺序及其他的复杂的功能操作
2. 配置:configure
编译安装的第一步就是执行configure脚本,会检查编译构建当前软件的所需环境,同时用户可以根据需要指定相关的配置。所有的选项以--开头使用等号连接配置项与配置的值,如:--prefix=/usr/local/。
- --prefix:指定编译安装时的目标路径,相当于自定义软件安装位置
- --bindir:指定二进制文件的安装位置
- --sbindir:指定超级二进制文件的安装位置
- --datadir:指定数据文件的安装位置
- --include:指定头文件的安装位置
- --infodir:指定info文档格式文件的安装位置
- --mandir:指定帮助文档的安装位置
在不指定安装位置时,将会安装到默认位置,通常分布在/usr/local中
3. 编译:make
在进行configure后,如果环境不存在问题,会生成对应的Makefile文件,用于执行make命令时调用。
在make过后,其实软件已经完成了安装,会在源码解压目录中生成构建完成的文件,如:Nginx软件make后会在obj文件夹中生成如下文件:
4. 编译检查:make test/check
编译后可以使用make test或make check命令再次检查编译过程是否正确。
5. 编译安装:make install
执行最后一步:编译安装,根据configure阶段的配置,将已经生成的软件安装到指定的目录中去,可以对可执行文件定义软连接或者添加到环境变量,方便使用。
扫描下方二维码,加入官方粉丝微信群,可以与我直接交流,还有更多福利哦~
CentOS软件管理 - 编译安装相关推荐
- linux5 yum安装,(5)Linux_软件管理_yum安装本地软件
软件管理 通用安装源码包流程: (1) cd httpd-2.2.32 : ./configure --prefix=/usr/local/apache2/ ------- 预编译 配置检测,并 ...
- mysql+1.6安装,CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法
这篇文章主要介绍了CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享,需要的朋友可以参考下准备篇: 一.配置防火墙,开启80端口.3306端口 Cen ...
- CentOS 7.0编译安装Nginx+MySQL+PHP
转自http://www.centoscn.com/CentosServer/www/2014/0904/3673.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www. ...
- CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5
CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 CentOS 设 ...
- CentOS 6.5编译安装Nginx+MySQL+PHP
一.配置防火墙,开启80端口.3306端口,关闭SELINUX [root@Zabbix ~]# vim /etc/sysconfig/iptables -A INPUT -i lo -j ACCEP ...
- centos 6.2 编译安装mysql_CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13 2013-10-24 15:31:12 标签:服务器 防火墙 file 配置文件 written 一.配置 ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13 2013-10-24 15:31:12 标签:服务器 防火墙 file 配置文件 written 一.配置 ...
- CentOS 7上编译安装PHP 8.1及Nginx 配置支持PHP
CentOS 7上编译安装PHP 8.1/及Nginx 配置支持PHP 编译安装 Php[端口:9000] 安装编译环境依赖包 yum -y install gcc gcc-c++ glibc aut ...
最新文章
- cv2.resize
- PRAGMA EXCEPTION_INIT
- 设计模式 - 适配器模式
- Grafana plugins zabbix 安装
- poj 1830 开关问题
- pandas全表查询定位某个值所在行列
- 2017云栖大会门票转让_「揭秘GP」云栖大会 | Greenplum 6.0 内核优化解读和7.0展望...
- java面向对象的教程_java面向对象入门教程
- JBoss-4.2.3.GA下发布EJB3项目遇到的问题之JSF篇
- 通过html备份数据库文件,备份网站文件和数据库
- heartbeat V2实现MySQL+NFS高可用
- 怎么购买企业邮箱,才不被坑?
- 【数据库】MS SQL SERVER数据库日志压缩方法
- 算法程序-通过log重现计算过程
- [jzoj 4722] [NOIP2016提高A组模拟8.21] 跳楼机 解题报告 (spfa+同余)
- 导入文本文件乱码问题
- 项目验收之时,所需文档
- 般若波罗蜜多心经白话分段解释
- java同一秒请求多次接口_java – 限制用户每秒发出有限的请求
- 大数据技术在商业银行中的应用:场景、优势与对策
热门文章
- 【机器学习】解决机器学习中OneVsRestClassifier的网格调参Invalid parameter max_depth for estimator OneVsRestClassifier
- [工会网站建设方案-日志]第一阶段 策划:收集、整理、分析
- Linux进行syn攻击的代码,Linux遭受SYN洪水攻击设置
- 认识Windows XP注册表
- k线符号图解大全_如何股票开户,麻烦朋友们介绍一个好点的证券公司?k线组合108式图解...
- 资源篇(二)-Photoshop插件~Kockout
- diff算法_深入剖析Vue源码 - 来,跟我一起实现diff算法!__Vue.js
- 手把手教你利用Spring Boot实现各种参数校验
- Dubbo这些很好用的功能你一定不知道!
- 【公众号文章备份】从零开始学或许是一个谎言