程序包编译

程序包编译安装:
Application-VERSION-release.src.rpm –> 安装后,使用rpmbuild命令制作 成二进制格式的rpm包,而后再安装
源代码–>预处理–>编译–>汇编–>链接–>执行
源代码组织格式:
多文件:文件中的代码之间,很可能存在跨文件依赖关系
C、C++:make 项目管理器
configure脚本 –> Makefile.in –> Makefile
java: maven
编译安装
C语言源代码编译安装三步骤:
1、./configure
(1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的 指定以及Makefile.in文件生成Makefile
(2) 检查依赖到的外部环境,如依赖的软件包
2、make 根据Makefile文件,构建应用程序
3、make install 复制文件到相应路径
开发工具:
autoconf: 生成configure脚本
automake:生成Makefile.in
注意:安装前查看INSTALL,README
开源程序源代码的获取:
官方自建站点:
apache.org (ASF:Apache Software Foundation)
mariadb.org …
代码托管:
SourceForge.net
Github.com
code.google.com
c/c++编译器: gcc (GNU C Complier)

编译C源代码:
准备:提供开发工具及开发环境
开发工具:make, gcc等
开发环境:开发库,头文件
glibc:标准库
实现:通过“包组”提供开发组件
Development Tools
Server Platform Development

编译安装
解压缩后要进到解压后的文件夹里进行下面的
第一步:configure脚本
示例:
./configure \
–prefix=/app \ 把程序安装到/app下
–sysconfdir=/etc/http22 \ 配置文件单独放在/etc/http22下
–enable-ssl 启用服务(加密服务)
选项:指定安装位置、指定启用的特性
–help: 获取其支持使用的选项 (大部分都是带–help功能的)
选项分类:
安装路径设定:
–prefix=/PATH: 指定默认安装位置,默认为/usr/local/
–sysconfdir=/PATH:配置文件安装位置
System types:支持交叉编译

Optional Features: 可选特性
–disable-FEATURE
–enable-FEATURE[=ARG]
Optional Packages: 可选包
–with-PACKAGE[=ARG],依赖包
–without-PACKAGE,禁用依赖关系
注意:通常被编译操作依赖的程序包,需要安装此程序包的“开发”组件,其包名 一般类似于name-devel-VERSION
第二步:make
示例:
make -j 4 && echo -e “\a” && sleep 1 && echo -e “\a” && sleep 1 && echo -e “\a”
成功后响几声 没一声中间听几秒
第三步:make install
apachectl start启动服务

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96860

(0)
张陆禄张陆禄
上一篇 2018-04-22 19:50
下一篇 2018-04-22 19:55

相关推荐

  • 实验:实现互联网的DNS架构

    实现互联网DNS分布式架构,当客户端访问时,经各级自建DNS解析,最终指向Web1或者Web2服务器httpd服务

    2018-06-05
  • 加密和安全

    加密和安全

    2018-05-17
  • 文件查找命令locate与find的对比分析

    文件查找命令locate与find的对比分析一、locate 1、locate命令是用来文件查找的命令,依赖于事先构建的索引。而索引的更新并不是实时的,而是每次开机启动或者管理员手动更新。因为是使用事先建立的索引库进行检索,所以会有以下特点: 1)查找速度快 2)模糊查找 3)非实时查找 4)搜索的是文件的全路径,不仅仅是文件名 5)可能之搜索用户具备读取和…

    Linux笔记 2018-04-14
  • yum

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而…

    2018-04-20
  • N31第二周

    1、Linux上的文件管理类命令都有哪些,其常用的方法及其相关示例演示: mkdir mkdir:创建目录 格式:mkdir [OPTION]… DIRECTORY… -m –mode=模式,设定权限<模式> (类似 chmod)  -p 此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录, 即一次可以建立多…

    2018-06-26
  • keepalived实现高可用

    实现lLVS的高可用;实现nginx的高可用

    2018-07-11