1. 源码包基本上简述2. 源码包的益处3. 源码包的以获取4. 源码包进行分类5. 源码包的加装5.1 configureJAVA的机能5.2 校对加装小常识5.3 源码包校对示例
1. 源码包基本上简述
在linux自然环境上面加装源码区锡索较为常见的, 晚期网络管理工作管理工作中,绝大部分应用软件都是透过源码加装的。因此加装两个源码包,是须要他们他们把源码校对成十进制的可继续执行文档。
源码包的校对加进了linux控制系统里的校对器,一般来说源码包都是用C词汇合作开发的,这也原因在于C词汇为linux上最国际标准的程序词汇。Linux上的C词汇校对器叫作gcc,借助它就能把C词汇变为可继续执行的十进制文档。因此假如你的电脑上没加装gcc就没配套措施去校对源码。能采用yum -y install gcc来顺利完成加装。
2. 源码包的益处
自订修正源码订制须要的有关机能旧版应用软件优先选择预览源码
3. 源码包的以获取
官网, 能赢得新一代的应用应用软件Apache官网Nginx官网Mysql官网
4. 源码包进行分类
源码文件格式(须要校对加装)十进制文件格式(Cogl后能间接采用)
5. 源码包的加装
校对须要校对自然环境,合作开发自然环境,合作开发库,合作应用软件。常见的校对自然环境有c、c 、perl、java、python5种c自然环境的校对器:gcc(GNU C Complier)c 自然环境的校对器:g make:c、c 的国际标准化资金管理工作辅助工具,校对时有可能初始化gcc也有可能初始化g 。采用makefile文档表述make按哪种顺序去校对源文档文档中的源文档
源码加装四部曲(常见):第二步: ./configure(订制模块)
1.选定加装方向,比如 –prefix=/opt/nginx-1.122.投入使用或停止使用某类机能, 比如 –enable-ssl3.和其他应用软件关连,比如–with-pcre4.检查加装自然环境,比如是否有校对器 gcc,是否满足应用软件的依赖需求5.检测透过后生成Makefile文档
第二步: make
1.继续执行make命令进行校对, 能采用-j选定CPU核心数进行校对2.按Makefile文档进行校对, 校对成可继续执行十进制文档3.生成各类模块和主程序
第三步: make install
1.按Makefile表述好的方向拷贝至加装目录中
上面介绍的源码四部曲不能百分百通用于所有源码包, 也就是说源码包的加装并非存在国际标准加装步骤,但是绝大部分源码加装都是类似的步骤
建议:拿到源码包Cogl后,然后进入到目录找有关的帮助文档,一般来说会以INSTALL或者README为文档名
5.1 configureJAVA的机能
让用户选定校对特性检查校对自然环境是否符合程序校对的基本上须要
5.2 校对加装小常识
假如加装时不是采用的默认方向,则必须要修正PATH自然环境变量,以能够识别此程序的十进制文档方向;修正/etc/profile文档或在/etc/profile.d/目录建立两个以.sh为后缀的文档,在里面表述export PATH=$PATH:/path/to/somewhere默认情况下,控制系统搜索库文档的方向只有/lib,/usr/lib增添额外库文档搜索方向方法:在/etc/ld.so.conf.d/中创建以.conf为后缀名的文档,而后把要增添的方向间接写至此文档中。此时库文档增添的搜索方向重启后有效,若要采用增添的方向立即生效则要采用ldconfig命令ldconfig:通知控制系统重新搜索库文档
/etc/ld.so.conf和/etc/ls.so.conf.d/*.conf//配置文档
/etc/ld.so.cache//缓存文档
-v//显示重新搜索库的过程
-p//打印出控制系统启动时自动加载并缓存到内存中的可用库文档名及文档方向映射关系
头文档:输出给控制系统默认:控制系统在/usr/include中找头文档,若要增添头文档搜索方向,采用链接进行man文档方向:加装在–prefix选定的目录下的man目录默认:控制系统在/usr/share/man中找man文档。此时因为校对加装的时候不是加装到默认方向下,假如要查找man文档则能采用以下两种方法:man -M /path/to/man_dir command在/etc/man_db.conf文档中添加一条MANPATH
5.3 源码包校对示例
上面透过校对加装nginx来深入理解源码包加装
//1.基础自然环境准备
[root@localhost ~]yum -y install gcc gcc-c make wget
//2.下载源码包(源码包一定要上官方站点下载,其他站点不安全)
[root@localhost ~]cd /usr/src
[root@localhost src]wget http://nginx.org/download/nginx-1.12.2.tar.gz
//3.Cogl源码包,并进入相应目录
[root@localhost src]tar xf nginx-1.12.2.tar.gz
[root@localhost src]cd nginx-1.12.2
//4.配置有关的选项,并生成Makefile
[root@localhost nginx-1.12.2]./configure –help|head
–help printthismessage
–prefix=PATHsetinstallation prefix
–sbin-path=PATHsetnginx binary pathname
–modules-path=PATHsetmodules path
–conf-path=PATHsetnginx.conf pathname
–error-log-path=PATHseterrorlogpathname
–pid-path=PATHsetnginx.pid pathname
–lock-path=PATHsetnginx.lock pathname
//后面的内容省略了,采用 ./configure –help 命令查看能采用的选项//一般常见的有 –prefix=PREFIX 这个选项的意思是表述应用应用软件加装到哪里//建议,源码包都是加装在/opt/目录下
//5.选定校对参数
[root@localhost nginx-1.12.2]./configure –prefix=/opt/nginx-1.12.2
//6.验证这一步命令是否成功, 非0的都不算成功
[root@localhost nginx-1.12.2]echo $?0
//7.校对并加装
[root@localhost nginx-1.12.2]make
[root@localhost nginx-1.12.2]make install
[root@localhost nginx-1.12.2]echo $?
//8.建立软链接
[root@localhost nginx-1.12.2]ln -s /opt/nginx-1.12.2 /opt/nginx
源码校对报错信息处理
checking for C compiler … not found ./configure: error: C compiler cc is not found
//解决方案
[root@localhost ~] yum -yinstallgcc gcc-c make
./configure: error: the HTTP rewritemodulerequires the PCRE library.
You can either disable themodulebyusing–without-http_rewrite_moduleoption,orinstallthe PCRE libraryintothe system,orbuild the PCRE library
staticallyfromthe sourcewithnginxbyusing–with-pcre= option.
//解决方案
[root@localhost ~] yuminstall-y pcre-devel
./configure: error: the HTTP gzipmodulerequires the zlib library.
You can either disable themodulebyusing–without-
http_gzip_moduleoption,orinstallthe zlib libraryintothe
system,orbuild the zlib library staticallyfromthe sourcewith
nginxbyusing–with-zlib= option.
//解决方案:
[root@localhost ~] yum -yinstallzlib-devel
./configure: error: SSL modules require the OpenSSL library.
You can eitherdonotenable the modules,orinstallthe OpenSSL
libraryintothe system,orbuild the OpenSSL library staticallyfromthe sourcewithnginxbyusing–with-openssl= option.
//解决方案
[root@localhost ~] yum -yinstallopenssl-devel
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!