Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理

上传人:E**** 文档编号:89155724 上传时间:2019-05-19 格式:PPT 页数:89 大小:607.51KB
返回 下载 相关 举报
Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理_第1页
第1页 / 共89页
Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理_第2页
第2页 / 共89页
Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理_第3页
第3页 / 共89页
Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理_第4页
第4页 / 共89页
Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理》由会员分享,可在线阅读,更多相关《Linux系统应用基础教程 教学课件 ppt 作者 张小进 第06章 Linux 的包管理(89页珍藏版)》请在金锄头文库上搜索。

1、第六章 Linux 的包管理,随着计算机技术的飞速发展,操作系统的内核在不断地升级;各种各样的应用软件也在不断地推出;对于Linux操作系统而言,这些软件许多是以RPM软件包的形式存在并可以通过网络下载的。要在系统中查询、验证、安装、升级或删除这些软件包就需要有专门的包管理器。包管理器(RPM)是Linux系统的一个重要部分,它为Linux操作系统的升级与维护以及用户应用程序的安装带来了极大的便利。,61 包管理概述,RPM是Red Hat Package Manager的缩写,它原来是Red Hat Linux发行版专门用来管理Linux各项软件包的程序,由于它遵循GPL(GNU通用公共许可

2、证)协议且功能强大、使用方便,因而受到许多用户的青睐并逐渐被其他Linux发行版本所采用。 RPM是一个开放的软件包管理器,它工作于许多种类型的Linux和UNIX操作系统。只要遵循GPL协议,RPM软件对所有的用户都是开放的,用户甚至可以将它用到自己的程序中。,由于安装、删除、或升级某个RPM软件包时,包管理器要对用户的系统做适当的配置,所以RPM软件包的安装、删除或更新只有root权限的用户才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有建立目录的权限,也可以进行安装。 对于终端用户来说,包管理器大大简化了系统升级、维护以及应用程序的安装。当要安装、删除或升级RPM软件包时,只要

3、使用简短的命令就可以完成。包管理器维护一个所有已安装的RPM软件包和文件的数据库,因此,用户可以在系统上进行RPM软件包的查询和校验工作。在RPM软件包的升级中,包管理器处理配置文件时非常谨慎,因此用户决不会丢失所定制的配置 这是用普通压缩包,如.tar.gz文件所无法达到的。,对于程序开发者来说,包管理器允许这类用户把软件源代码和编译、连接生成的二进制程序打包,然后提供给终端用户使用。这个过程非常简单,它由一个主文件和可选的补丁程序组成。这种源代码、补丁程序和软件生成指令的清晰描述简化了发行软件新版本所带来的维护负担。 在终端字符界面下,Linux的包管理器以rpm命令加上参数和选项的形式使

4、用;在图形界面下,Red Hat Linux9.0所提供的软件包管理工具除了可以添加和删除安装光盘上的RPM软件包外,还可以通过弹出式菜单和鼠标的配合进行软件包的安装操作。,62 包管理的特色,有关RPM的信息在网页 http:/docs.fedoraproject.org/drafts/rpm-guide-en/ch01s02.html 上有详细的介绍。 在学习如何使用包管理器之前,让我们先简要了解Linux包管理的特色: 1、易用性(Ease of use) 2、面向软件包(Package-oriented focus) 3、包的升级性(Upgradability of packages)

5、 4、探测包的依赖性(Tracking of package interdependencies) 5、强大的查询能力(Query capabilities) 6、软件包校验(Verification) 7、支持多种结构(Support for multiple architectures) 8、保持软件包原始特征(Use of pristine sources),621 易用性 或许RPM设计的主要目的之一就是要容易使用。为了让更多的用户使用这种新软件,RPM与其他早期的Linux包管理工具软件相比必须要有重大的改变。基于这一点,大多数可以用RPM处理的任务被设计成通过执行单条命令来完成。例

6、如,使用RPM来升级软件要求执行单条命令(rpm -U software_package),而使用早期的方法至少需要六条命令才能完成同样的工作: tar zxf software_package cd software_package ./configure make su make install 与此类似,当使用RPM删除一个已安装的应用程序软件包时,也同样要求执行单条命令(rpm -e software_package);而早期的方法需要手动删除每个与应用程序相关联的文件。,622 面向软件包 RPM是用来在软件包层次上操作的。RPM提供可以管理成百上千个包的软件,胜于在单个文件或整个系

7、统基础上的操作。 每个包由分立的关联文件集、相关的文档和配置信息组成;典型情况下,每个包是一个单独的应用程序。RPM作为包的管理单元,使得软件包安装与删除的应用变的极为简单。,623 包的升级性 除了面向软件包的特色外,RPM还支持软件包升级。对于从RPM包中安装的应用程序,只要有新的版本发行都可以使用RPM升级,而不需要重新安装。在升级应用程序时,RPM会删除那些旧的文件并用新文件替换它们。另外,RPM允许智能地、全自动地升级用户软件,软件包中原来所做的配置在升级过程中会安全的保留下来,因此用户不会丢失配置信息。例如,Apache Web服务器一般安装在需要Web网页服务的Linux计算机上

8、;Apache服务器的配置信息以文本文件的形式存储在/etc/http/conf/httpd.conf文件中。假设用户已经用RPM安装了Apache并且配置过httpd.conf文件;当用户再用RPM升级Apache时,RPM将会小心地保护用户所做过的配置。相反,手动升级应用程序时常常覆盖已存在的配置文件,丢失系统管理员所做的配置。,624 探测包的依赖性 软件包之间存在依赖关系,即某个软件包中的程序需要使用其他已经安装的软件包中的程序。例如,Postfix和Sendmail邮件传输代理(MTA)程序一般安装在提供e-mail服务的Linux计算机上,在它们可以提供e-mail服务前都会被配置

9、,以便成功地对用户身份进行验证(通过输入用户名和密码)。这常常用于防止未经授权的用户访问e-mail服务器,阻止不道德的广告商利用邮件服务器为工具发送垃圾邮件。然而,要使Postfix和Sendmail程序正常工作,Cyrus SASL程序必须安装。Cyrus SASL(Simple Authentication and Security Layer)程序为Postfix和Sendmail程序提供用户名和密码的检查。换句话说,Postfix和Sendmail程序依赖于Cyrus SASL。,对于系统级的软件管理程序,在系统组件之间的逻辑依赖关系容易探测。所有需要的组件作为系统的部分包括在系统中

10、,升级系统时就升级了所有的组件。在Microsoft Windows 2000操作系统中,IIS需要其他的程序,如EventLog(Windows用来记录系统事件,很类似于Linux系统的syslogd和klogd程序)必须存在。由于Windows是在系统层次上的管理,而不是包的管理,所以这种依赖得到满意的保证。然而,在Linux操作系统中使用RPM情况就不同了,RPM提供了灵活性以安装某个应用程序,但是以后不安装或删除其他应用程序。例如Postfix程序需要syslogd程序记录系统事件,当用户安装Postfix程序时不能保证已经安装了syslogd程序。如果syslogd没有安装,则Pos

11、tfix程序将无法正确地工作。为了避免这样的问题Red Hat开发者认识到RPM还必须探测依赖信息,以便RPM安装或删除应用程序时使用这种依赖信息。使用RPM在没有安装syslogd程序的系统上安装Postfix时会产生一个警告信息,以提示syslogd必须先安装。于此类似,在一个已经安装了Postfix的系统上卸载syslogd时也会产生一个警告信息。如果需要,这些警告信息可以被忽略,但是缺省情况下RPM强制检查这些依赖关系。,625强大的查询能力 作为RPM实现的一部分,它维护一个所有已安装的RPM软件包和文件的数据库。RPM设计为很容易查询,用户可以搜索数据库以证实系统中哪些软件包已经安

12、装和软件包中有哪些文件以及该软件包的制作者。这个特色使得基于RPM的系统特别容易使用,因为单条的RPM命令就可以查看系统中所有已经安装的软件包。,626软件包校验 RPM还维护着系统数据库中每个已安装文件的大量信息,例如每个文件应该有什么权限、每个文件的大小等。一段时间后,如果安装的程序不能正常工作,原因可能是系统管理员设置了不正确的文件权限或者由于外部的原因影响了计算机的内存,破坏了存储位而引起的错误。虽然RPM不能阻止引起已安装软件失效的所有错误,但是它能排除通常的错误。当一个应用程序失效时,用户可以使用RPM数据库确定所有与该应用程序相关联的文件是否仍然有正确的Unix文件权限以及与该应

13、用程序无关的文件是否被改变或被破坏。,627支持多种结构 早期Linux包管理程序的限制之一是它们只能使软件包安装在一种类型的计算机上,例如用于32位Intel兼容的CPU。这对于发行版的开发者例如Red Hat和Debian以及为了在Linux上使用而打包软件的应用程序卖主造成一个问题,因为可用的打包方法不能产生支持多种结构的包。而且软件打包者无法指出目标软件包适用的体系结构,这使得软件的最终用户难以知道那种计算机可以安装这些软件包。 Red Hat通过把各种体系结构的支持合并进RPM解决了这个限制,这种特色通过一个基本的安装软件包产生一个可以运行在各种CPU上的包,这大大方便了最终用户。,

14、628保持软件包原始特征 保持软件包原始特征是BOGUS 发行项目管理系统人员提出的概念,它是RPM的一个设计目标。对于RPM产生两种类型的包:二进制包和源代码包。二进制包用于压缩要安装和使用的程序;源代码包包含程序的源代码以及如何把源代码编译成二进制包的文档。这个特色或许是在现代Linux打包软件(如RPM)与用于其他系统(如商业Unix系统使用的pkg格式)的打包软件之间的最大的区别。源代码打包使得软件打包者更容易工作,因为打包者在准备这些包的新版本时可以使用旧版本的源代码包作为参考。源代码打包还方便了最终用户,因为容易通过改变软件编译选项产生一个新的、支持用户需要特征的二进制包。,63

15、命令行下的包管理,在命令行下使用rpm命令进行包管理。RPM提供以下五种基本操作以实现用户对软件包的管理: 安装-解开被压缩的软件包,并安装软件到计算机磁盘上。 查询-通过RPM数据库查询软件包的相关信息。 校验-校验软件包中程序的正确性。 升级-用新版本程序替换软件包中的旧版本程序。 删除-清除通过RPM安装的软件,即卸载软件包。,一般RPM不提供建立软件包的功能,软件开发者或其他用户如果需要创建软件包可以通过rpmbuild命令来实现。 rpm命令的用法是: rpm OPTION. 其中,OPTION.为命令选项。由于rpm命令功能强大,所以它的命令选项很多;主要有查询、校验、签名、数据库

16、、安装、升级、删除和公共选项等。这里先介绍公共选项,其他选项在每个基本操作中介绍;公共选项是在所有操作中都可以使用的选项。,公共选项说明:,631 安装软件包 从网络上可以搜索到大量应用程序的RPM软件包,大多数RPM软件包的命名有一定的规律,一般有类似linuxconf-1.34r3-1.i386.rpm或linuxconf-gui-1.34r3-1.i386.rpm的文件名;前者是工作在字符界面下的软件,而后者是工作在图形界面下。这些RPM软件包的文件名一般包括以下几个部分: 软件包的名称,如linuxconf。 软件包的版本号,如1.34r3。 发行号,如1。 硬件平台,如i386、i586等。 扩展名,一般就是rpm。 此外,网络上还有一种源代码软件包,即SRPM软件包,其软件包名中带有src字样。这种软件包是不带编译后的可执行文件,需要用户自己编译。以下分别介绍这两种软件包的安装方法。,6311 RPM软件包的安装 通常安装一个RPM软件包的命令格式是: rp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号