程序包编译安装

一、几个概念

1、开放源码

程序代码,人类可能读懂的程序语言,但是计算机不能识别和执行;

2、编译程序

将程序代码翻译成计算机可以识别的语言;

3、二进程程序

经过编译程序翻译后得到的可以被执行的程序文件。

二、编译源程序的步骤

1、configure

检测程序,并生成makefile文件,其检测的内容如下:

是否有适合的编译程序;

是否有本软件所需的函数库或其他需要的相关软件;

操作系统平台是否支持些软件;

内核的头定义文件是否存在。

configure脚本的使用:

1)获取帮助

./configure –help

2)较通用的一些选项

安装路径相关

–prefix =/path/to/somewhere:指定安装路径

–sysconfdir=/path/to/somewhere:指定配置文件安装路径

指定启用/禁用的特征

–enable -FEATURE:例如 –enable -fpm

–disable -FEATURE:例如 –disable -sochet

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

–with -FUNCTION [=/path/to/somewhere]

–without -FUNCTION

2、make

根据makefile文件中所记录的内容,来对源码进行编译。

3、make install

安装软件。

三、编译安装Nginx

前提:在进行编译安装前必须安装gcc编译器。

1、检查运行环境

–prefix:指定nginx的安装路径;

–conf-path:指定主配置文件的位置;

–with-pcre:指定pcre源码包的位置;

–with-zlib:指定zlib源码包的位置;

注意:pcre和zlib都是源码包的位置,而不是安装的路径,如下图所示:

2、编译程序(调用gcc)

3、安装程序

4、启动nginx服务

使用浏览器访问测试:

5、安装后的配置

1)让二进制程序直接运行,而无须输入路径

在目录/etc/profile.d/中创建nginx.sh文件,内容如下:

重新登录终端后,测试效果:

2)导出手册页(模拟)

因为nginx没有man手册,我们只能假设nginx的man手册的路径为/usr/local/nginx/man,如果想使用man命令直接调用手册的话,可以进行以下操作:

在/etc/man.config文件中加入一行,如下图所示:

3)导出库文件(模拟)

在/etc/ld.so.conf.d/目录中创建nginx.conf文件

            触发系统重新搜索所有的库文件并生成缓存:

4)导出头文件(模拟)

假设nginx的头文件在/usr/local/nginx/include目录中;

系统找头文件的路径:/usr/include

导出方式是创建链接文件:

ln -sv /usr/local/nginx/include /usr/include/nginx

时间: 2024-10-14 00:32:36

程序包编译安装的相关文章

CentOS程序包管理器rpm、yum以及程序包编译安装详解

一.程序包管理器RPM和Yum简介 程序包管理器:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,可以更方便地实现程序包的安装.升级.卸载和查询等管理操作. rpm软件包管理器(RPM Package Manager):rpm包存在依赖关系,依赖关系复杂,安装时间很长,虽然可以忽略依赖关系,但是可能会导致程序包安装后无法正常使用. yum程序包管理器( Yellow dog Updater, Modified):yum是基于RPM包管理,自动解决程序包间的依赖关系.根据配置文件的资源地

Linux程序包编译安装

一.源代码简介(文件中的代码之间,很可能存在跨文件依赖关系) 源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令. 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序.计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成. 二.源代码的编译过程 由于程序源代码到可被计算机识别并运行的指令是需要多步骤处理的:程序源

rpm和yum的使用,程序包编译安装以及编译apache过程中出现的问题

一.rpm包管理 用法: rpm [选项...] 查询/验证软件包选项: -a, --all                        查询/验证所有软件包 -f, --file                       查询/验证文件属于的软件包 -g, --group                      查询/验证组中的软件包 -p, --package                    查询/验证一个软件包 --pkgid                          

CentOs之yum详解及程序的编译安装

CentOs之yum详解 yum的地位:yum是rpm的前端管理工具,而且依赖于rpm.  yum仓库:yum repository,仓库里存储了众多rpm包,以及包的相关的元数据文件.yum仓库里会有个repodata目录存在. yum支持的文件服务器类型: ftp://  http:// file:///(本地服务器,例光盘)   /nfs:// 查看yum的信息: [[email protected]]# rpm -q yum ------查看yum命令的安装包是哪个 yum-3.4.3-

Linux学习之建立yum源、yum命令的使用及rpm包编译安装

一.什么是Yum Yum的全称为 Yellowdog Update Modifier,其主要目的是为了解决RPM包安装时的依赖关系的问题.yum只是一个用于软件安装的前端工具,其主要的服务对象还是RPM软件包. 二.yum配置客户端         1.主配置文件(中心配置文件):/etc/yum.conf.              通常不需要进行修改,保持其默认配置即可.         2.提供repo配置文件,指明仓库访问路径及各种属性信息.              在目录/etc/y

学习笔记之yum及程序包编译

Yum用法 背景:由于RPM包在实现程序包管理是会存在一些问题比如程序包会出现一些依赖关系等,这些都必须手动解决,虽然可以忽略一些关系,并且能使用--nodeps来安装,但是这会导致安装之后程序功能的不正常,因此为了能更好的解决这种关系,但手动解决这种关系又是一种很麻烦的事,所以就有高于rpm管理的工具yum来实现,下面我们就来仔细看看yum的用法. 学前须知: yum 和dnf是centos系列的好工具 Yum是什么?在安装程序时能实现在前端自动解决依赖关系.Yum其实是一个cs架构的工具,y

源码包编译安装mariaDB

前言 MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小.速度快.总体拥有成本低,并且之前是完全开源,所以大受欢迎.但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少.所以MariaDB就是因为这种原因诞生出来,成为数据库管理系统是MySQL的一个分支. 先前已经使用二进制安装了mariaDB(详细请查看http://www.178linux.com/8787

源码包编译安装之--实战

最近安装公司安排很多程序让源码安装的活,今天和大家分享一下. 本文就以nginx为例进行源码安装的讲解: 解压: 1.# tar xf nginx-1.4.7.tar.gz{xz|bz2|gz} 2.# cd nginx-1.4.7 ./configure 还需通过许多选项指定编译特性 查看: ./configure--help --prefix=PATH        setinstallation prefix     nginx安装路径 --prefix=PATH        set i

liunx命令6 vim编辑、压缩命令、rpm、yum及源码包编译安装

[[email protected] ~]# yum install -y vim-enhanced vim打开文件编辑(有颜色) [[email protected] ~]# vim  !$                   //上一条命令的最后一条参数 [[email protected] ~]# vim +10 !$                //打开文件进入第十行 :set number                                 //显示行号 vim 一般模式