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

相关推荐

  • 网卡别名及多网卡配置

    网卡别名 对于要在不同网段环境中使用的设备有很大的帮助。     要使用网卡别名首先要关闭NetworkManager这个服务,防止在后续操作中引起不必要的冲突。 [root@laodeng6 ~]# chkconfig NetworkManager off [root@laod…

    Linux干货 2016-09-06
  • Linux中设置磁盘配额和RAID

    第一篇:设置磁盘配额 综述     •在内核中执行     •以文件系统为单位启用     •对不同组或者用户的策略不同       根据块或者节点进行限制         •执行软限制(soft limit)   &n…

    Linux干货 2016-09-05
  • sed命令使用

    一、sed简介    sed是一种在线编辑器,一次处理一行内容。处理时,把当前处理的行存储在历史缓冲区,传给“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非使用重定向存储输出。sed主要用来自动编辑一个或…

    Linux干货 2016-08-12
  • 第二周 N28

    作业二

    2017-12-10
  • 网络协议端口号查询表

    TCP 0= ReservedTCP 1=TCP Port Service MultiplexerTCP 2=DeathTCP 5=Remote Job Entry,yoyoTCP 7=EchoTCP 11=SkunTCP 12=BomberTCP 16=SkunTCP 17=SkunTCP 18=消息传输协议,skunTCP 19=SkunTCP 20=F…

    Linux干货 2017-08-15