博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS程序包管理、下
阅读量:7068 次
发布时间:2019-06-28

本文共 3196 字,大约阅读时间需要 10 分钟。

CentOS程序包管理(3)

应用程序的编译安装(C/C++)

为什么要进行应用程序源代码的编译安装?    1.对应应用程序的程序包不能直接获取到;    2.在已经编译好的二进制格式的程序的功能不包含我们所需要的;    3.在已经编译好的二进制格式的程序中,包含太多的我们所不需要的功能;软件项目管理工具:    C/C++:make        Makefile应用程序源代码的分类:    1.由程序员直接打包的源代码        name-VERSION.tar.gz    2.由第三方利用rpm工具制作的rpm源代码包:        name-VERSION-release.src.rpm源代码的组织形式:    1.一个应用程序包含多个文件;    2.某个文件中的不同的代码段之间,甚至不同文件的代码段之间都可能存在依赖关系;应用程序源代码的编译过程:    源代码 --> 预处理(预处理器,CPP) --> 编译(编译器,CC[gcc]) --> 汇编(汇编器) --> 链接(链接器) --> 用于执行操作的二进制程序文件Makefile文件的功能:    1.包含了各个程序源代码文件之间的关系;    2.决定文件的编译顺序;    3.使用哪个预处理器进程何种预处理操作;    4.使用哪个编译器进程何种编译操作;    ...程序员通过使用专用工具,对于所有的源代码文件进行内容的分析和提取,并构建出一个同一的makefile文件的绝对模板,即:Makefile.in有了这个模板,用户可以根据自己的需求,自行构建Makefile文件,从而可以实现个性化的编译过程;帮助用户生成Makefile文件的是一个名为"configure"的脚本;开发工具:    autoconf:帮助用户生成configure脚本文件;    automake:帮助用户生成Makefile.in的模板文件;建议:在获取任何源代码包并解压缩之后,要去读取其中随程序源代码提供的"INSTALL"或"README"类的文档文件,以获知该应用程序源代码的编译步骤;开源应用程序的源代码的获取方式:    1.官方自建的资源站点:        apache.org(ASF)        MariaDB --> mariadb.org        varnish-cache.org        ...    2.代码托管站点:        SourceForge        Github        code.google.comLinux中进行C/C++源代码编译时使用的编译器:gcc,GNU C Compiler在使用NAT模式联网进行软件包的安装的时候如果出现/var/run/yum.pid 已被锁定,PID 为 4040 的另一个程序正在运行等相同问题,则~]# rm -f /var/run/yum.pid在执行安装命令~]# yum install gcc编译源代码所需的开发环境:(程序包组)    CentOS 7:        Development Tools        Compatibility Libraries    CentOS 6:        Development Tools        Server Platform Development注意:程序包组中所包含的开发环境并不是非常完整,如果某个应用程序在编译时有其他环境要求的话,需要安装对应应用程序的开发工具包;    如果有rpm格式的开发工具包,其名称为name-devel-VERSION-release.rpm,则可以使用yum直接安装;    如果没有对应的rpm格式的开发工具包,则需要优先编译安装开发工具;

编译源代码安装应用程序的三大步骤:

1.利用configure脚本生成Makefile文件;
~]# ./configure [option]...
--help
--prefix:选择程序安装的路径;
--enable-function:
--with-function:

2.使用项目管理工具"make"进行编译;    注意:有一些应用程序在实施编译操作之前需要测试(make test)3.使用"make install"命令进行编译后的二进制文件的最后的安装;

编译安装完成以后的收尾工作:

1.导出二进制文件的路径;
2.导出库文件路径;
3.导出头文件路径(可选);
4.导出帮助文件路径;

尝试编译安装httpd:(这些安装包首先要事先存在于你的系统内存当中,如果没有可以到相关网站进行下载)

1.安装apr
~]# tar xf apr-1.5.2-tar.bz2
~]# cd apr-1.5.2
~]# ./configure --prefix=/usr/local/apr-1.5.2
~]# make [-j 4]
~]# make install

2.安装apr-util    ~]# tar xf apr-util-1.5.4-tar.bz2    ~]# cd apr-util-1.5.4    ~]# ./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2    ~]# make [-j 4]    ~]# make install3.安装httpd    ~]# tar xf httpd-2.4.29-tar.bz2    ~]# cd httpd-2.4.29    ~]# ./configure --prefix=/usr/local/apache-2.4.29 --with-apr=/usr/local/apr-1.5.4 --with-apr-util=/usr/local/apr-util-1.5.4 --with-pcre    ~]# make [-j 4]    ~]# make install    注:因为需要pcre的支持,所以需要事先安装pcre-devel包;收尾工作:    1.导出二进制文件:        创建一个文件:/etc/profile.d/httpd.sh            export PATH=/usr/local/apache-2.4.29/bin:$PATH    2.导出库文件:        创建一个文件:/etc/ld.so.conf.d/httpd.conf            /usr/local/apache-2.4.29/lib64    3.导出头文件;        创建符号链接:            ~]# ln -sv /usr/local/apache-2.4.29/include /usr/include/httpd    4.导出帮助文档:        对于CentOS7来说,在导出二进制文件时已经自动导出了帮助文档;如果没有成功导出,则需要在/etc/man_db.conf文件中添加一行:            MANPATH_MAP=/usr/local/apache-2.4.29/bin /usr/local/apache-2.4.29/man        对于CentOS6来说,需要手动导出:            在/etc/man.config中添加一行:                MANPATH=/usr/local/apache-2.4.29/man

转载于:https://blog.51cto.com/huliheeyu/2096258

你可能感兴趣的文章
利用路由器连接别人家的网络
查看>>
TinyXml学习笔记
查看>>
超越存储 遇见未来 HP 3PAR StoreServ存储系列更新
查看>>
工信部:中国物联网产业规模已超9300亿元
查看>>
能源革命为太阳能市场打开了多个缺口?
查看>>
拟态防御或助网络安全实现再平衡
查看>>
理解Spark的核心RDD
查看>>
如何安装pandom : 一个针对Linux的真随机数生成器
查看>>
LeetCode之二叉树问题
查看>>
Vue.js 源码学习笔记
查看>>
社会化分享如何影响你的APP
查看>>
centos下PIL的安装
查看>>
IOST节点计划全面升级: 全球寻找1000位IOST合伙人
查看>>
NSNotificationCenter
查看>>
版本号正则表达式匹配
查看>>
新手入门mysql(一)
查看>>
nodejs实现微信小程序支付功能及相关问题总结
查看>>
Django web框架-win10搭建django2.1.7开发环境,定义简易视图及网址
查看>>
HTTP各种常见状态码
查看>>
Git相关小记
查看>>