如何实现源码编译安装程序

1、问题:发行商提供的rpm包不想用,别人提供的rpm包也不想用,那么只能自己编译源码制作rpm包。

不是不想用,而是别人提供的不能满足最大优化,所以需要自己编译定制。

2、源码语言类型:c,c++,perl,python等,最常见的为c

3、开源代码站点:

http://sourceforge.net/

https://github.com/

https://code.google.com/

4、源码要满足编译安装,开发者开发的源码必须完成如下事件项:

A、 autoconf:configure脚本

检查编译环境是否满足编译需求(gcc在不在,make命令有没有,以及依赖在不在),并定义当前程序编译时启用哪个特性或者功能,以及安装路径的定义等等。

结果:会根据Makefile.in文件生成makefile文件。

B、automake:Makefile.in文件

用于结合configure脚本生成makefile文件。

makefile文件是make命令的配置文件。

5、编译者编译安装源码的步骤:

A、拿到源代码(即下载源程序),并解压。

#tar xf package-versin.tar.{gz|bz2|xz}

展开后的目录为package-versin

B、切换至源码目录中

#cd package-versin

C、执行configure脚本

# ./configure

注意:看最后一行是否有error类似字样,如果无则成功。

D、编译,其实就是执行cc -c -pipe等:

# make

E、安装,其实就是copy文件,将文件copy到configure时指定的目录:

# make install

6、configure脚本的通用功能,我们需要定义的配置:

A、指定安装路径:(指定二进制程序、库文件、帮助文件、配置文件路径,一般配置文件要单独指定)

--prefix=/usr/local/package_name:指定二进制程序、库文件、帮助文件安装路径

--sysconfdir或者--conf-path=/etc/package_name:指定配置文件的安装路径,因有的软件不同,

但不外乎--sysconfdir或者--conf-path两种。

B、指定启动/禁用的特性:

--enable-feature:如--enable-fpm

--disable-feature:如--disable-socket

C、指定所依赖功能、程序或文件:

--with-function:启用依赖某功能

--without-function:禁用依赖某功能

D、注意:不同的程序,其configure脚本功能不同,要获取帮助./configure --help 或者查看 readme

7、在编译安装前,请确保在Installed Groups下已有,执行的命令:#yum grouplist

Server Platform Development

Development Tools

时间: 2024-10-13 12:48:07

如何实现源码编译安装程序的相关文章

源码编译安装程序包及httpd源码安装实践

源码编译安装程序包从步骤并不复杂,实际安装过程中最主要的就是准备好编译环境:根据自己的实际需求,选择或设置程序包编译参数:以及程序包安装后的相关配置. 1.  编译环境准备 以CentOS6为例,一般通过yum安装2个包组,编译工具,以及编译程序包依赖的主要的头文件和库文件就都准备好了. # yum groupinstall "Development Tools" # yum groupinstall "Server Platform Development" 另外

Linux下源码编译安装程序

一.程序的组成部分 Linux下程序大都是由以下几部分组成:     二进制文件:也就是可以运行的程序文件     库文件:就是通常我们见到的lib目录下的文件     配置文件:这个不必多说,都知道     帮助文档:通常是我们在linux下用man命令查看的命令的文档 二.linux下程序的存放目录     linux程序的存放目录大致有三个地方:     /etc, /bin, /sbin, /lib  :系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上   

Linux源码编译安装程序

一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档 二.linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /bin, /sbin, /lib  :系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上 /usr/bin,/usr/sbin,/usr/li

Linux程序包管理之yum仓库、源码编译安装

CentOS:yum,dnf URL:ftp://172.16.0.1/pub yum是C/S架构,是rpm的前端工具,依赖于rpm存在的: 1.本地要有yun程序: 2.本地要有配置文件(配置远程服务器yum仓库或本地服务器yum仓库): 3.要有存在的文件服务器(程序包仓库即yum仓库).(也可以在本地配置服务器yum仓库): yum支持的服务器有两种:一种是ftp服务器,第二种是http服务器: yum工作简述: yum是客户端,也认为是自我独立管理的组件,需要联系远程的仓库,从仓库中下载

linux程序包管理之源码编译安装

一.linux程序包基础概念 1.1.linux程序开发遵循开源协定:GPL, BSE, Apache等 1.2.源程序常用的开发语言:C, C++, perl, python等 1.3.应用程序的开发.编译和运行 就像面包师直接使用的材料是面粉而非麦种一样,我们大部分应用程序员在开发程序时也并非直接接触硬件层,因为底层硬件太过抽象和"丑陋",如果应用程序开发都从底层开始,无疑工作量巨大.于是,有些系统级程序员在"裸机"上抹上了一层操作系统,用于管理硬件资源,这个系

马哥linux学习笔记:源码编译安装

由于rpm包在作者制作封装的时候已经把程序的一些特性固定了,如果我们根据自己的需求,需要运用程序的一些没有普适性相关特性,就需要下载程序的源码手动编译安装了,这里只是简单的介绍一下C代码的程序包编译安装方法. 为了能更直观的看到源码编译安装的过程,我演示一下在centos7.2环境中编译安装httpd2.2: 首先,编译的前提是得有称手的工具及环境了,编译c源代码就需要用到开发工具,make,gcc了,环境就需要开发库跟头文件了,如果系统中没有这些,就需要yum安装了. 这里我运行yum gro

详解LAMP源码编译安装

实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MySQL 四.编译安装 PHP 测试LAMP搭建开源数据web管理程序phpMyadmin 详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装L

软件包管理之源码编译安装

编译步骤: 1.#cd SOURCE_CODE 2../configure 作用: 检测编译环境 提供给用户编译配置(通过脚本选项) --help 帮助信息 --prefix=/usr/local/name 安装路径 二进制 /usr/local/name/bin /usr/local/name/libexec不允许自动执行,只能被其他程序调用执行 配置文件 /usr/local/name/conf 库文件 /usr/local/name/lib 帮助文档 /usr/local/name/sha

LAMP纯源码编译安装日志

一.LAMP构架的安装与经验技巧(源码安装好处.是便于管理,可以选定参数,可以使用新版本) 相关软件列表: # ls /soft/ | grep -E "*.gz|*.zip|*.xz|*.bz2"    apr-1.4.5.tar.gz    apr-util-1.3.12.tar.gz    autoconf-2.61.tar.gz    freetype-2.3.12.tar.gz    httpd-2.4.18.tar.bz2    jpegsrc.v6b.tar.gz