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

相关推荐

  • 权限管理

    权限管理 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 我们先来看看文件的属性: 权限: r:可获取文件数据(读取文件) w:可修改文件的数据(写入数据) x:可以把此文件提请内核启动为一个进程 (执行) 文件的权限主要针对三类对象进行定义:  owner: 属主, u  grou…

    Linux干货 2016-08-05
  • 一周作业体会

    1、描述计算机的组成及其功能 CPU+控制器+RAM+输入设备+输出设备 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别 答:最主流的发行版主要有: Debian/Slackware/Redhat,我们日常最常使用的操作系统大多是上述发行版的二次再发行版,例如:基于Debian的二次发行版Ubuntu和Knopix,基于Slac…

    Linux干货 2016-10-31
  • 运维面试题, 不知是否正确的答案

    1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。 握手: client 发送请求SYN到 server; 状态:server;初始状态为LISTEN,client 发送SYN后变为SYN_SENT server 发送ACK回应,并发送SYN请求到 client;状态:服务器收到SYN后,变为SYN_RCVD,发送ACK+SYN后,变为ES…

    Linux干货 2016-06-23
  • centos 7.2 安装pyenv多版本管理工具和虚拟环境pyenv-virtualenv

    软件简介: pyenv + pyenv-virtualenv pyenv,是一款特别好用的Python版本管理器,程序员可以建立不同的目录,在不同的目录里分别运行不同版本的Python, 并且互不影响,安装的包也互不影响。github项目地址:https://github.com/yyuu/pyenv pyenv-virtualenv, 是pyenv的一个p…

    Linux干货 2016-07-04
  • zabbix如何监控webserver

    1、模版 2、应用集 3、项目 4、触发器

    Linux干货 2016-02-19
  • CentOS 6系统启动流程

    Linux系统的组成 内核+根文件系统 内核功能:     进程管理、内存管理、文件系统管理、网络管理、安全功能、驱动程序 运行中的系统环境可分为两层:内核空间、用户空间     用户空间:应用程序(进程或线程)     内核空间:内核代码…

    Linux干货 2016-09-15