centos7或centos6中如何编译安装源码程序包

yum仓库配置、程序的编译安装

源码程序包就是源代码的可见的软件包,相比于rpm包,源码包的好处在于:

  1. 用户可以根据自己的需求定制安装
  2. 可以进行二次开发

 

源码程序包的打包格式一般为file.tar.gz file.tar.bz2或file.src.rpm

file.tar.gz file.tar.bz2格式的解包命令为:

tar -jvxf file.tar.bz2

tar -zvxf file.tar.gz

 

在编译程序前,需要配置好yum仓库

在/etc/yum.repos.d/目录下,创建repo文件

vim base.repo

文件中写入仓库的具体配置信息(这里已本地centos光盘镜像作为yum源)

[base]

name=centos7 cd  # 可有可无,不写会警告

baseurl=file:///misc/cd   #yum源地址,repodate的父目录路径

gpgcheck=0  #关闭包检查,如果不关闭,则需要加载密匙文件

gpgkey=file:///misc/cd/RPM-GPG-KEY-CentOS-7  #加载密匙,关闭检查可以不写

enable=1  #可以不写,默认为0(0 不使用这个源  1 使用)

 

也可以使用国内一些网站的源(阿里云)同时配置多个仓库

[epel]

name=aliyun epel

baseurl= https://mirrors.aliyun.com/epel/7/x86_64/

gpgcheck=0

配置完成使用命令查看仓库是否配置成功

yum repolist

 

如何编译安装源码包

以httpd-2.4.29.tar.bz2 为例

解压包之后,一般都能发现README(或reame)和INSTALL( 或install),文档里会告诉我们如何安装。

1

在编译安装前,需要在linux中安装一些开发工具包 Development Tools 等

yum groupinstall “Development Tools” -y

 

码编译安装三步骤:

1、./configure

可以通过选项传递参数,指定启用特性、安装路径等,执行时会参考用户的指定以及Makefile.in文件生成Makefile

具体选项可以通过命令./configure – -help 来查看

2

比较重要的一个参数是 –prefix ,用–prefix 参数,我们可以指定软件安装目录

比如指定安装到/app/httpd24下,执行命令

./configure – -prefix=/app/httpd24

执行过程中会多次提示需要依赖其他包,我们把依赖的包安装好之后在重新执行此命令

2、make        #根据Makefile文件,构建应用程序

3、make install         #复制文件到相应路径

到此,编译安装已基本完成

 

最后,需要更改PATH变量

vim /etc/profile.d/path.sh

写入

PATH=/app/httpd24/bin:$PATH

启动服务

进入安装目录,执行

./apachectl start

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

赞 (3)
oranixoranix
上一篇 2017-12-02 19:52
下一篇 2017-12-02 20:58

相关推荐

  • LAMP分离环境的搭建(最新版本的mysql+php+http源码编译安装)

    实验者:FrankStar      实验日期:20150628 任务:主要是实现在Linux环境下配置LAMP环境,利用VMware+centos6.4实现,将LAMP分离为多台主机; 附注:由于大家的环境不一样,可能有些人已经安装了这个包或者那个软件,所以调试的环境结果也不一样,为了尽量能模拟到 可能出现的所有问题,在编译会…

    Linux干货 2015-06-30
  • N26-博客作业-week11

    1、详细描述一次加密通讯的过程,结合图示最佳。 加密过程 1、先用单向加密算法计算出数据的特征码 2、私钥加密特征码,并将结果附加在数据之后 3、生成一个临时的对称密钥,并使用对称密钥加密整段数据 4、获取对方的公钥,使用该公钥加密之前生成的临时对称密钥,并附加在数据之后 5、将所有数据发送给对方解密过程 1、先使用私钥解密加密的对称密钥 2、用对称密钥解密…

    2017-04-18
  • Linux之bash shell脚本编程入门篇(一)

    什么是bash shell脚本编程? 答:Linux里面有多种shell,而CentOS和redhat的默认shell是bash shell。至于shell脚本,这个跟windows操作系统里面的批处理文件有点像(.bat的文件)。不知道大家还是否记得Linux的哲学思想吗?其中有那么两点点:由众多目的的单一应用程序组成:一个程序只做一件事,且做好;组合目的…

    Linux干货 2016-08-15
  • Linux用户和组命令

                        groupadd命令用户和工作组管理 groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。-g:指定新建工作组的id;  -r:创建系统工作组,系统工作组的组ID小于500; -K:…

    2016-02-09
  • 服务器故障的解决方法以及基本脚本的编写

    1,当开机时一直重新启动怎么办? 在开机时就如字符界面后按下a键然后进入单用户模式,通过设置 [root@CentOS6 boot]# vim /etc/inittab 这个文件,将里面的开机启动项改为多用户模式就可。 # id:3:initdefault: “/etc/inittab” 26L, 884C 讲id这项设置完成后重新启动就好。 2,忘记roo…

    Linux干货 2017-05-15
  • Linux命令学习

    阅读目录 Linux cat命令 file命令 dd命令 hexdump命令 cat命令   cat三大功能:      1.一次显示整个文件:cat filename      2.从键盘创建一个文件:cat > filename 注意只能创建新文件,…

    Linux干货 2017-07-16