网站建设服务器
安装用于包管理的编译源代码
为什么要编译安装源代码?
1.无法直接获得相应的包;
2.编译后的二进制不包含我们需要的函数;
3.编译后的二进制包含了太多我们不需要的函数;
1.我想用一个包,但是找不到可用的二进制包;
2.我们要用的包有二进制格式,需要的功能或特性还没有编译;
程序的源代码包有两种格式:
原始源代码包:name-VERSION.tar.gz。
Tar xf命令释放包中的源文件。
Rpm封装的源代码包:name-VERSION.release.src.rpm
Rpm -ivh将源代码文件安装到一个目录中;
源代码包的组织形式:
多个源代码文件,
同一文件的不同代码段或不同文件的不同代码段之间可能存在依赖关系;
在编译源代码时,必须先编译一些代码段,或者必须先编译一个文件中的代码段,然后才能在后面进行编译。
源代码文件之间可能存在跨文件依赖,这一点只有作者最清楚。
程序员会编写描述性文档,以便让用户更容易理解文件和代码段之间的依赖关系。
之后,程序员会给每个源代码文件附上一个头信息,解释文件和代码段之间的依赖关系。程序员开发了一个工具来提取和汇总这些信息,并结合程序员提供的配置last shift,生成了一个逐章的描述文档,包括:本次编译调用哪个预处理器?如何预处理?调用哪个编译器?调用哪个汇编程序?如何编译?程序需要安装在哪个路径?
源代码项目管理工具
C/C:制造
java:maven
python:构建
描述性文档:makefile等文件不是固定的,而是根据用户的选择不断变化的。
Makefile文件由makefile.in(makefile.win)的模板生成。
使用配置脚本接受用户的选择,配置脚本会在makefile.in模板上汇总所有接收到的信息,替换模板中相应的内容,从而生成makefile。
程序员编写源代码,在源代码文件中添加头信息;提供Makefile.in的模板文件;
需要Autoconf工具来生成配置脚本;
您需要automake工具,并使用configure脚本接受的所有参数来创建makefile。
有了正确的makefile,您可以使用make命令来编译源代码。
预处理-编译-汇编-链接-生成可执行二进制文件。
安装二进制文件将二进制文件复制到正确的目录路径。在当前的源代码编译过程中,如果源代码包中已经有了configure脚本,我们还需要做以下工作。
1.使用。/配置脚本以根据用户提供的选项信息生成makefile。
2 .制造
3 .进行安装
建议:在实际安装包之前,最好检查一下源代码包中install的文件。如果没有这样的文件,请检查readme文件。
如何获取开源程序的源代码包
1.释放计划的官方网站是kernel.org,mariadb.org,apache.org。
2.代码托管网站
一套合作式软件开发管理系统
Github.com
code.google.com
在Linux系统上编译和安装源代码的前提;
1.编译和开发环境必须满足要求。
Centos6系统
百胜集团安装开发收费服务器平台开发
Centos7系统
百胜集团安装开发工具
2.编译器应该满足要求。
gcc,cpp,make,automake…
3.编译中使用的标准库应该是完整的glibc和C标准库。
满足以上条件后,接下来就可以编译安装源代码了。
1.运行配置脚本
大量选项:顶层安装过程中使用的各种路径,启动或关机特性等。
help:获取该软件包支持的所有选项。
期权的分类
安装路径选项
前缀=路径(/PATH/TO/SOFTWARE_INSTALL)
系统类型选项
如果不选择所有系统类型选项,则默认编译基于本机默认操作系统和本级平台架构,编译时也可以选择其他文件系统和其他平台类型。这种情况通常称为交叉编译;
可选功能选项:
禁用功能
启用功能
编译源代码时,选择启用或禁用某个功能或特性。
可选封装选项:
编译源代码时,源代码中的某些功能可能依赖于其他外部包。
带包装
无包装
选择使用或不使用外部包。
执行完上述命令和选项后,makefile文件将自动创建在源代码目录中。
2.make [-j] #(不能超过处理器内核的数量)
3 .进行安装
源代码安装好之后,就应该进行收尾工作了。
1.二进制程序所在的目录都在PATH变量中;
At/etc /etc/profile.d/name.sh
导出路径=/PATH/TO/BINARY:$PATH
source /etc/profile.d/name.sh
2.导出库文件:
edit/etc/etc/LD . so . conf . d/name . conf
/PATH/TO/SOFTWARE_LIBRARY
ldconfig [-v]
3.导出头文件:
创建相应的符号链接
ln-SV/PATH/TO/HEAD _ FILE/uer/include/name
4.导出帮助文件
在centos7中,默认情况下会导出帮助文件。
centos6
编辑/etc/man.config文件,并向其中添加新的一行。
MANPATH=/PATH/TO/MAN_FILE
安装httpd-2.4.18的示例
1.首先要解决开发工具环境;
百胜集团安装开发工具
2.使用适合httpd-2.4.18的apr和apr-util工具;
安装apr工具
~]# tar xf apr-1 . 5 . 2 . tar . bz2-C/usr/src
~]# cd /usr/src/apr-1.5.2
~]# ./configureprefix=/usr/local/apr-1 . 5 . 2
~]# make
~]#进行安装
安装arp-util工具
~]# tar xf apr-util-1 . 5 . 4 . tar . bz2-C/usr/src
~]# cd /usr/src/apr-util-1.5.4
~]# ./configureprefix=/usr/local/apr-util-1 . 5 . 4with-apr=/usr/local/apr-1 . 5 . 2
~]# make
~]#进行安装
3.需要安装pcre-devel,满足httpd的正则表达式使用要求;
yum -y安装pcre-devel
编译并安装httpd:
~]# tar xf httpd-2.4.18.tar.gz-C/usr/src
~]# cd /usr/src/httpd-2.4.18
~]# ./configurewith-apr=/usr/local/apr-1 . 5 . 2with-apr-util=/usr/local/apr-util-1 . 5 . 4
~]# make
~]#进行安装
关闭:
1.导出二进制文件:
vim /etc/profile.d/httpd.sh
导出路径=/usr/local/apache2/bin:$PATH
source /etc/profile.d/httpd.sh
2.导出库文件:
vim/etc/LD . so . conf . d/httpd-x86 _ 64 . conf
/usr/local/apache2/modules
ldconfig -v
3.导出头文件:
ln-SV/usr/local/Apache 2/include/usr/include/httpd
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。