考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:Linux认证 > 综合辅导 > 文章内容
  

linux从入门到精通(33)

 [ 2016年6月24日 ] 【

从源码包编译安装程序

  1、源码编译简介

  既然有了RPM安装,那么为什么需要源码安装呢?首先它能获得最新的软件版本,及时修复bug;然后它那能根据用户需要,灵活定制软件功能。它的应用场合也非常广泛,比如安装较新版本的应用程序时、当前安装的程序无法满足需要时或者需要为应用程序添加新的功能时等。

  Tarball封包:多为.tar.gz或者tar.bz2格式。

  确认源代码编译环境:

  需要安装支持C/C++程序语言的编译器。

[root@localhost ~]# gcc --version  ==>或g++ -v  [--version]
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)
Copyright (C) 2006 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@localhost ~]# g++ --version
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)
……

(备注:在实际编译安装软件的操作中,大多数情况是通过 make 来自动调用gcc或g++进行工作,无需用户手动执行gcc等命令)

  2、从源码编译安装程序的基本过程

解包 —— tar

    解包、释放出源代码文件

配置 —— ./configure    (configure 一般是位于软件包目录中的可执行脚本文件)

    针对当前系统、软件环境,配置好安装参数

编译 —— make

    将源代码文件变为二进制的可执行程序

安装 —— make install

    将编译好的程序文件复制到系统中

  3、源码编译安装程序示例

  1)、解包

(习惯上将软件包释放到 /usr/src/ 目录;解包后的源代码文件位置:/usr/src/软件名-版本号/)

 

[root@localhost ~]# tar zxvf axel-1.0a.tar.gz -C /usr/src/
[root@localhost ~]# ls /usr/src/axel-1.0a/
API     axelrc.example  configure  CREDITS  gui       nl.po     tcp.c
axel.1  CHANGES         conn.c     de.po    http.c    README    tcp.h
axel.c  conf.c          conn.h     ftp.c    http.h    search.c  text.c
axel.h  conf.h          COPYING    ftp.h    Makefile  search.h

==>configure执行脚本用于下一步的配置,README或INSTALL文件可提供安装方法

  2)、配置

  (需将工作目录切换到软件源码所在目录;使用源码目录中的 configure 脚本;执行“./configure --help” 可以查看帮助;典型的配置选项: --prefix=���件安装目录)

[root@localhost ~]# cd /usr/src/axel-1.0a
[root@localhost axel-1.0a]# ./configure --prefix=/usr/local/axel 
==>若不指定任何配置选项,将采用默认值

(备注:不同的应用程序其配置参数会存在区别,因此学会使用“./configure --help”非常重要(“./”表示当前目录);用户应用程序习惯上安装到“/usr/local/软件名”文件夹中;编译过程中如果出现错误,通常是由于缺少依赖软件包所致;根据软件大小不同,配置过程可能会需要不同的时间)

  3)、编译  :执行make命令

  4)、安装  :执行make  install命令 

[root@localhost axel-1.0a]# make
[root@localhost axel-1.0a]# make install

    验证已编译安装完成的程序:

 

[root@localhost axel-1.0a]# ls /usr/local/axel/  /usr/local/axel/bin/
/usr/local/axel/:
bin  etc  share
/usr/local/axel/bin/:
axel
[root@localhost axel-1.0a]# /usr/local/axel/bin/axel –help
Usage: axel [options] url1 [url2] [url...]
--max-speed=x      -s x    Specify maximum speed (bytes per second)
……
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved