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)
上一篇 2017-12-02 19:52
下一篇 2017-12-02 20:58

相关推荐

  • NoSQL之MongoDB

    分布式系统理论 1、 CAP: 分布式系统只能满足其中两个  Consistency :一致性 Availibility:可用性 Partitions Tolerance :分区容错性 C,A : SQL 传统的数据库。 两段机制。 C,P :悲观枷锁机制,分布式加锁机制。加锁机制与SQL不太一样。 这里的C为最终一致性。 放弃C后的特例,既可以保证可用性,…

    2018-01-09
  • Linux下常用压缩工具总结

    gzip: 1)只能针对普通文件进行压缩,对文件夹、符号链接无效。 2)如果想对多个文件一起压缩并打包,gzip是无法办到的,需要结合tar进行 [root@mysql-master databackup]# ll 总用量 32 drwx—— 2 root root 4096&nb…

    Linux干货 2016-12-05
  • Linux 计划任务快速理解入门

    计划任务简单来说是一个我们规定的时间去执行我们需要的脚本、命令及需要Linux做的事情。 以前写过一个脚本,由于当时没有学过计划任务,所以写起来特别痛苦,该脚本的需求是每天晚上11:00 备份/etc目录 当时特别小白,于是这么写的: VimrebootScript ‘ #!/bin/bash whiletrue;do If [ -d/app/e…

    Linux干货 2017-05-15
  • 14 用户组和权限管理4

    14 用户组和权限管理4 一、杂项知识整理 1、groups 查看用户所属组列表 [user1@localhost ~]$ groups user3 user1 2、文件属性:-rw-r–r–. 1 root root 0 8月   3 07:56 cgroup.clone_children &…

    Linux干货 2016-08-04
  • 权限管理和字符匹配示例

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel /home/tuser1 chmod -R 700 tuser1 2、编辑/etc/group文件,添加组hadoop hadoop:x:999 3、手动编辑/etc/passwd文件新增一行,…

    2017-12-25
  • 马哥教育网络班N22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。     [root@zabbix ~]# id $(who | cut -d' ' -f1 | tail -n 1)    &nbs…

    Linux干货 2016-08-30