admin 管理员组

文章数量: 1086019


2024年3月20日发(作者:java hashmap原理)

第七章 Linux的软件安装及编译系统核心

7.1 Linux软件的包装方式及安装方法

一、Linux软件的包装方式

Linux的软件套件包装方式有这么三种:①用rpm程序RPM(Red Hat Package Manager)包装,文件

名结尾是.rpm,这是Red Hat派系的发行套件的软件包装格式。②以tar+gzip制作,文件名结尾为.或

是.tgz,这是Slackware派系的包装格式。③软件包装方式为Deb套件,使用dpkg程序包装,文件名结尾为.deb,

这类是GNU/Linux Debian的,因此,如果你在网上看到任何的软件文件名结尾是rpm、.、.tgz或是.deb

都可以肯定这可能是for Linux的软件套件。但是因为UNIX平台很多,Linux也支持各种平台,所以我们还不

能绝对地肯定它是for Linux on Intel x86平台的软件。所以取得任何的rpm、.、.tgz、.deb的软件套件,

必须辩别其是否为for Linux on Intel x86平台的软件,以及是用什么library编译的,才能正确地在你的Linux

上使用,下面介绍几个软件的辩识要点。

1.RPM套件的平台辨识方法

Red Hat 目前支持的平台有x86(i386)、Sparc、alpha三个平台,所以当你看到软件文件名为 软件名

-时,就知道这个软件是for Linux on Intel x86平台的binary软件。这里版本为3.0.5,发

行序号是15,i386则代表该软件支持的平台。

如果你看到的文件名为 软件名-时,代表这是包装为RPM套件格式的软件源代码,不管

用那一种平台安装Red Hat都可以安装,麻烦的是必须要你自己先编译才能使用。

2.tarBall套件的平台辨识方法

用tar 与GNU gzip包装软件源代码的方式,是全世界UNIX通用的包装方式之一,不管你使用哪一种Linux

发行套件,或者任何其他的UNIX版本,都可以直接安装以tarball包装的软件,这是tarball的好处之一。另

一个好处便是,tarball格式软件容易得到,因为软件的发展人员写好程序后,把它包装为tarball以利于在各种

平台的UNIX/Linux上流通,所以用tarball包装的软件版本都是最新的,而且最容易取得。RMP套件或是Deb

软件套件,都是先取得tarball软件源代码后,进行编译再将其包装为RPM或是Deb格式的。最新的tarball

的好处是,你可以编译属于自己系统的软件,编译软件时,可以调整编译参数为系统进行最佳化,使编译出来

的二进制执行文件可以更稳定、更快速、更适合在你的机器下执行,达到最佳执行效率。但是自己编译软件时,

有时操作会出错,要让一个初学者找出问题的原因,那可不容易,而且编译软件也要花很多时间,所以RPM软

件套件越来越流行了,不过要更深入地学习Linux,编译软件的功夫是不可少的。

tarball软件的辨识方式,依压缩的命名惯例判断为:文件名-版本号-发行序号. ,但也不全是这样。

最直接的方式是将该软件解压缩(tar zxvf ),阅读软件的readme、install、之类的文件,

按照软件说明的方法来进行。

另外,也有人将编译好的软件包装为tarball套件,命名上则通常会加上bin字眼代表其为二进制文件,但

也不是一抓来就用的,因为各类型Linux的发行版之间较为混乱,使用的GNU C Library不统一。

3.Deb套件平台辨识方法

大部分的Linux软件都包装为RPM或是tarball格式,仅有Debian GNU/Linux独具一格,使用Deb软

件套件格式,文件名如 tkpgp_,必须使用dpkg或是dselect程序安装。

4.注意软件使用的C Library版本

目前Linux最大的问题在于各个发行版使用不同的GNU C Library版本,另一个是Linux发行版内部的新

旧版本问题,如Red Hat4.2版的libc5直接改为Red Hat5.0的glibc2,所以任何旧版的Red Hat的libc5软

件都不能使用在5.0以后的版本上,解决问题的办法是寻找新版的软件,或是拿旧版软件的源代码在新版的Red

Hat上重新编译,若编译成功即可使用。

总之,不管你使用哪一种Linux软件套件格式,首先要注意的就是使用的GNU C Library是否符合你使用


本文标签: 软件 包装 套件 编译 使用