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
下一篇 2017-12-02

相关推荐

  • 正则表达式和grep用法,及文本查看、处理工具

    概念 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。(维基百科) 通俗…

    2017-10-21
  • 马哥教育网络班20期+第1周课程练习

    1、描述计算机的组成及其功能。  (1)组成:运算器、控制器、存储器、输入设备、输出设备  (2)功能:数值计算、数据处理、自动控制、辅助设计、辅助教学、人工智能、娱乐活动 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。  (1)主要发行版本之间关系    基于slackware:sus…

    Linux干货 2016-06-23
  • 5.程序包管理与内核命令的使用

    1、  显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]#  grep -E “^[[:space:]]+” //boot/grub/grub.conf root (hd0,0) kernel /vmlinuz-2.6.32-279.el…

    Linux干货 2017-07-30
  • 通络通信

    网络详解: 网络的osi层次结构: 物理层: 以太网规定,连入网络的所有设备,都必须具有”网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。 网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。 每块网卡出厂的时候,都有一个全世界独一无二的MAC地址,长度是48个二进制位,通常用12个十六进制数表示。 前6个十六进制数是厂商编号,后6个是该厂商…

    Linux干货 2016-09-02
  • 信息论的熵

    1.  前言    熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度。    在信息论里则叫信息量,即熵是对不确定性的度量。从控制论的角度来看,应叫不确定性。信息论的创始人香农在其著作《通信的数学理论》中提出了建立在概率统计模型上的信息度量。他把信息定义为“用来消除不确定性的东西”。在信息世界,熵越…

    Linux干货 2016-03-27
  • N21-天天-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash awk -F: '$NF~"/sbin/nologin" {shell++} $NF!~&qu…

    Linux干货 2016-09-01