当前位置:Linux教程 - Linux文化 - 如何为Linux添加软件详解

如何为Linux添加软件详解


  现在,有越来越多的人开始接触Linux、安装Linux、使用Linux,网络上,越来越多企业使用Linux来架构,同时也有越来越多的人讨论着与Linux相关的话题。显然,Linux已经渐渐踏进当今我们的生活空间中了。

  由于Linux是一个由一大群电脑爱好者共同创造的,因此在Linux上执行的软件相当多,而且以很快的速度增长。对于已经发布的软件,也会有新的修正版本供诸于世。而这些资源,都是散落在世界各地的,令人一时间无所适从。于是,出现了各种Linux的发布版,供人们安装Linux系统之用,如 RedHat、Slackware、Debain等。在这些发布版里,囊括了各种最基本、最常用的Linux软件,然而由于存在着时间与空间的因素,在我们安装完系统之后,其中的部份软件可能已经在因特网上发表了更新版,或者有些需要的软件却没有收录进来,另外还有许多新软件还来不及纳入该发布版中。现在人们接触因特网的机会越来越多,使用者可以轻易的使用FTP来获得新的软件。从而,通过各种渠道获得软件并自己动手将取得的软件安装到自己的Linux系统中,便显得越来越重要。

  首先,从因特网上FTP服务器取得Linux软件,其格式大多是下列几种中的一种:

  1、*.tar -- 直接用 tar 将所有文件打包。

  2、*.gz -- 使用 gzip 或 compress 压缩的文件。

  3、*.z

  4、*.tar.gz

  5、*.tar.-- 先使用 tar 将文件打包后,再用 gzip 或compress 将该文件压缩后的文件。

  6、*.tgz

  为了节省储存空间以及提高传输效率,绝大部分软件都是经过压缩处理,才放在服务器上供人们下载的。因此,在获得这些软件后的第一件事,就是要对该软件进行解压。现在,我们以一些常见的储存格式为例,来说明解包的方法。

  首先,介绍一下解包的工具:

  1、tar

  其功能是将多个文件打包成一个合并的文件。软件作者可将所有文件打包成一个文件。使用者也要用 tar 来将这些文件解包。

  2、gzip

  GNU Zip 是一个在Unix系统中常用的压缩、解压缩命令。 Gzip 压缩过的文件大都会在文件名后面加上 .gz 、 .z 。

  3、compress

  Unix系统中传统的压缩命令,它可以压缩文件以减小文件的大小, compress 压缩过的文件名后会加上 .Z 。 compress 文件保留原文件的权限和一些时间属性。

  4、zcat

  zcat命令的功能是解压缩由 compress 或 gzip 命令产生的压缩文件,并把结果送标准输出设备,且保留原压缩文件。

  5、zless

  与 zcat 类似,可以直接查看一个由 gzip 压缩的文件内容。

  这些是常用的文件打包、压缩工具,下面我们来看一些实际的例子。

  以myfile.tar.gz为例,可以看出这类型的文件是由 tar 打包后再由 gzip 压缩的产物。对于这个文件的解包方法是,先使用 gzip 将该文件解压缩为原始的 tar 文件,然后执行 tar 将这些被打包在一起的文件一一还原。

  1、用 gzip 解压缩

  gzip -d myfile.tar.gz

  “gzip –d 文件名”是解压缩的使用方法,在执行过解压缩的处理后,原来的压缩文件将不存在,而仅仅保留解压缩后的文件,不会额外占用磁盘空间。所以在执行完此命令后,将看不到原先的 myfile.tar.gz 而只有 myfile.tar 。

  2、执行 tar 将文件解开

  用“tar xvf 文件名”的方式将一个 tar 文件解开。 tar 对文件名没有特别规定,因此,在使用 tar 时,要给予完整的文件名,否则 tar 会找不到要处理的文件。

  tar xvf myfile.tar

  3、查看压缩文件的内容

  由于 tar 可将多个指定目录的文件打包产生成一个文件,在这个文件中不仅含有原文件的内容也包括了文件目录以及文件属性,因此我们在解开一个 tar 格式的文件之前,最好也清楚一下这个 tar 文件内的目录结构,以免解开后,文件产生到其他目录中。

  下面的命令可以让我们知道 myfile.tar 中究竟包含了哪些文件。

  tar tvf myfile.tar

  同样,gzip也提供此类的功能,我们可以使用gzip -l来查看压缩文件中的内容。

  gzip -l myfile.tar.gz

  注意,我们在使用“tar xvf 文件名”解开文件时, tar 会根据所记录的每个原始文件所在目录来解开这些文件, tar 在执行时,会先在当前目录里找这个目录,如果找不到就建立该目录,然后逐一建立文件。

  举个例子来说,现有一 tar 文件要解开,我们先使用“tar tvf 文件名"的方式查看该内容,发现列出来的文件名开头都是usr/local/ 。在这个情况下,如果我们在$HOME目录下进行解包,那么 tar 将在该目录下分别建立 usr/local/ 等目录。可见,此时用root身份在根目录解包比较恰当。所以在处理一个不知内容的 tar 文件前,先看一下文件内的目录结构是必要的。

  4、综合应用

  经过上面的说明,大家应该已经会正确地解开一个软件包了,不过上面的方法是最规矩的方式,或称之为分解动作,下面要说的是其综合应用。

  例如,要查看 /SOURCE 中的 myfile.tgz 的内容:

  zcat /SOURCE/myfile.tgz | tar tvf -

  说明:(1) zcat 将一个 gzip 压缩文件解开并输出到标准输出设备。

     (2)通过管道功能,将 zcat 的结果转向 tar 来处理。

     (3) tar tvf 来查看文件内容。

     (4)使用 "-" 是告诉 tar 要处理的文件资料是由标准输入设备而来的。

  要解开文件时使用:

  zcat /SOURCE/myfile.tgz | tar xvf -

  执行结果和原先分步执行结果不同的是:压缩文件仍然存在。这些都可以达到解开文件的目的,可以随个人喜好来选择不同的方法。

  下面开始安装软件,新软件的原始文件解开后,接下来就是查阅作者附在里面的一些文件,如 README.xxx 、 RELEASE 、 SETUP 、 TODO 、 doc 、 INSTALL 、 ChangeLog 等文件。因为,在这些文件里往往会有些主要功能的说明,编译时系统环境的限制,如OS版本、GNU C版本、内存,以及软件环境参数设置的方式和软件安装的步骤。所以,必须要阅读这些资料以免造成遗憾。并应注意以下几个方面。

  1、Linux系统版本的限制

  Linux版本更新速度相当快,所以如果该软件使用到较新版本的特有功能时,则该软件无法在旧版本的Linux系统中执行。

  2、GNU C、C Runtime Library版本的限制

  如果直接安装软件的可执行文件时,如果Runtime Library的版本与作者编译该软件时的版本差异过大时,那么就会产生错误导致无法执行。如果要重新编译该软件并且该软件用到一些新版才提供的函数时就会发生编译错误。因此如果有此限制时,只有放弃该软件和升级系统两种选择。

  3、内存、硬盘的限制

  有一些软件在编译或执行时有特定的要求,会要求系统至少要有多少的内或硬盘空间。如果没有注意到这一点,就有可能花了很多功夫结果得到的是一个错误讯息。

  4、其他相关软件

  有一些软件会使用到其他软件,因此如果系统没有此相关软件,那也没法安装该软件。

  5、软件安装步骤说明

  对于较为复杂的软件,作者为了利于使用者正确安装,一般说来都会附上一份简要的安装说明。所以如果有这类文件最好看一下。

  6、其他方面

  有些软件有多个更新版本,可能会附上文件来说明每个版本更新的主要内容以及错误修正的情况,象这类文件也可以参考。

  如果该软件是以可执行文件的方式安装,就没有别的要说的了,一切安装工作也就到此为止。如果是以原代码方式提供的话,那么就要编译软件。它是一件相当频繁的工作。究竟该怎么编译软件呢?说简单一点就是直接在软件的原代码所在目录敲入 make 就可以完成编译工作。通常作者在原代码目录中建立该软件编译所要的 Makefile 让使用者直接用 make 来完成编译工作。

  以上就是关于如何为Linux添加软件的说明,希望对大家有所帮助。

本文章版权属WWW.CPCW.COM网站与中国Linux论坛所有,侵权必究。如需转载,请与 www.cpcw.com网站联系


——摘自:CPCW网站