linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 专题栏目 > LPI >
栏目导栏
  LPI
  cisco
资料搜索
热门文章
·LPI 101认证学习1-硬件和体系结
· LPI 101认证学习7-Linux安装与
·LPI 101认证学习26-X Window 系
·LPI 101认证学习8-Linux安装与
·LPI 101认证学习15-GNU和UNIX命
·LPI 101认证学习28-X Window 系
·LPI 101认证学习10-Linux安装与
·LPI 101认证学习11-GNU和UNIX命
·LPI 101&102 2007年考试大纲
·LPI 101认证学习18-设备、Linu
·LPI 101认证学习27-X Window 系
·LPI 101认证学习14-GNU和UNIX命
·LPI 101认证学习12-GNU和UNIX命
·LPI考试流程
· LPI 101认证学习9-Linux安装与
最新文章
·LPI 101&102 2007年考试大纲
·LPI 302中文考试大纲
·LPI 301中文考试大纲
·LPIC-3认证考试内容最终确定
·LPI 101认证学习28-X Window 系
·LPI 101认证学习27-X Window 系
·LPI 101认证学习26-X Window 系
·LPI 101认证学习25-设备、Linu
·LPI 101认证学习24-设备、Linu
·LPI 101 学习指南:一.安装网络
·LPI 101 学习指南:一.安装 本地
· 安装光盘介绍(The Installati
·LPI 101认证学习23-设备、Linu
·LinuxWorld上海开展 LPI与众多
·LPI 和 Canonical 联合发布Ubu
Google
 
LPI 101认证学习7-Linux安装与包管理之构建和安装程序
[ 作者:  加入时间:2006-11-15 20:55:48  来自:Linux联盟 ]

LPI 101第二部分第三节:构建和安装程序

构建和安装程序

本节讨论初级管理(LPIC-1)考试 101 的主题 1.102.3 的内容。这个主题的权值是 5

在本节中,您将学习如何从源代码构建和安装可执行程序。您将学习如何解压典型的源代码束并定制 Makefile

为什么可能需要从源代码安装程序?常见的原因包括:

1. 需要不属于您的发行版的程序。

2. 需要只有源代码可用的程序。

3. 需要程序的某些特性,但是只有从源代码重新构建程序才能获得这些特性。

4. 希望更多地了解程序的工作方式,或者希望参与它的开发。

这些都是考虑从源代码安装程序的好理由。

下载并解压

无论为什么要从源代码进行构建,都需要先获得源代码,然后才能进行构建。可以在用于容纳项目的网站上寻找源代码包,比如 Open Source Technology Group SourceForge.net(请参阅 参考资料)或者某个包专用的网站。

在本节中,我们看看作为 tarball 发行的包。使用 tar(表示 Tape ARchive)命令从目录树中的文件创建和操作存档。尽管名字中有磁带(tape)这个词,但是这种文件可以存储在任何介质上。实际上,将它们存储在硬盘上将允许一些在磁带上不允许的操作,比如删除存档的一部分。tar 命令本身并不对数据进行压缩,它只是以一种形式存储数据,在这种形式中,原来的文件、权限和目录结构都可以保留。tar 命令可以与压缩程序(一般是 gzip  bzip2)结合使用来创建压缩的存档,这可以节省存储空间和传输时间。这种压缩的存档是 tarball

除了简单的 tarball,程序的源代码还可能被打包成源代码包,比如源代码 RPM(即 SRPM)。我们将在本教程后面讨论包管理。目前,只要记住要检查发行版中是否有源代码包,因为发行版中常常有更容易的构建程序的方法,而且可能已经针对这个发行版进行了调整。

在 下载之前,要尽量多了解这个包。如果有安装或构建文档,就要查看它,了解构建这个包是否需要其他包。常常还需要安装几个库和开发工具,然后才能成功地构建 选择的程序。如果程序使用任何图形工具集,那么尤其可能出现这种情况。有时候,您开始构建过程,然后发现需要某个包。不必担心,这很常见。只需找到并安装 缺失的包,然后再试试,直到拥有所需的所有包。

常常使用浏览器或 ftp 程序进行下载。包名的结尾可能是 tartar.gztar.Ztgz tar.bz2 之一。有时候使用 CVSConcurrent Version System)下载包。一个例子是来自 Free Software Foundation GNU GRUB 2(请参阅 参考资料)。在这种情况下,下载的源代码是已经解压的。偶尔可能看到 .zip 扩展名,这表示 zip 文件。

压缩的 tar 文件

对于没有使用包管理(比如 Red Hat RPM Debian 的包管理)的源代码,压缩的 tar 文件(即 tarball)是最常见的源代码发行形式。这种文件是使用 tar 命令创建的,这将一个目录树以及其中的所有文件存档在一个文件里。常常用某种压缩程序对它们进行压缩,常用的压缩程序是 compressgzip  bzip2。因为存档和压缩是非常常见的操作,所以大多数 Linux 系统上的 GNU tar 命令也可以利用 compressgzip bzip2 来进行压缩和解压。如果您的 tar 版本不处理某种压缩类型,那么 UNIX Linux 系统的管道功能可以解决这个问题,这种功能允许几个命令对输入的源代码依次进行操作,所以可以用两阶段的过程对 tar 产生的输出进行手工压缩。

为了进行讲解,假设我们下载 Dr. Geo 交互式几何项目(请参阅 参考资料)。在编写本教程时,我们下载了 drgeo-1.1.0.tar.gz。扩展名 gz 表示这个文件是用 gzip 压缩的。我们先讲解如何从压缩的文件提取出 tar 文件,然后讲解如何从 tar 存档中提取出文件。然后讲解用一个命令或管道来进行解压和提取。

为了只提取 tar 存档,可使用 gunzipg 命令,如清单 13 所示。

gJyLinux联盟
清单 13. 解压 Dr Geo 源代码包

 

 

[ian@localhost ~]$ ls drgeo*

drgeo-1.1.0.tar.gz

[ian@localhost ~]$ gunzip drgeo-1.1.0.tar.gz

[ian@localhost ~]$ ls drgeo*

drgeo-1.1.0.tar

 

注意,.tar.gz 文件现在已经被一个一般的 .tar 文件替代了。对于前面提到的其他扩展名,使用以下命令提取压缩的 tar 文件。

uncompress drgeo-1.1.0.tar.Z gJyLinux联盟
gunzip drgeo-1.1.0.tar.Z gJyLinux联盟
gunzip drgeo-1.1.0.tar.gz gJyLinux联盟
gunzip drgeo-1.1.0.tgz gJyLinux联盟
bunzip2 drgeo-1.1.0.tar.bz2

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论

分页:[1] 2 3 4 5
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息