第8讲 安装和卸载软件包 本章主要内容: 包管理 RPM操作 用RPM诊断 文件压缩与打包 图形界面下包的安装与管理
包管理 学习Linux至今,我们可能有这样的一种困惑:与Windows操作系统相比,我们使用的应用软件似乎都是Linux在安装时所提供的软件。那么如何在当前的Linux操作系统上安装一个应用程序软件呢?
包管理 Linux的软件存在形式——软件包 适用于Linux操作系统的应用程序软件安装程序,是以软件包的形式存在的。目前Linux的软件套件包装方式呈现三分天下的状态。 Red Hat派系的发行套件都将软件包装为RPM(Red Hat Package Manager)格式,利用rpm程序包装,文件名结尾是.rpm;Slackware派系的则包装为TarBall格式,以tar+gzip制作,文件名结尾是.tar.gz或.tgz;最后一类是GUN/Linux Debian,其软件包装方式为Deb套件,使用dpkg程序包装,文件结尾是.deb。
包管理 1.RPM套件的平台辨识方法 Red Hat Linux目前支持的硬件平台有x86(i386)、sparc、alpha三个平台,所以当看到软件名为zsh-3.0.5-15.i386.rpm时, 则为此平台。 2.TarBall套件的平台辨识方法 利用tar与GUN gzip包装软件源代码的方式,是全世界NUIX通用的包装方式之一,不管用户使用哪一种Linux发行套件:Slackware、Red Hat、Debian、TurboLinux等等,或者任何其他的NUIX版本,都可以直接安装以TarBall包装的软件。 3.Deb套件的平台辨识方法 大部分的Linux软件都包装为rpm或TarBall格式,仅有DebianGUN/Linux独具一格,使用Deb软件套件格式。Deb软件套件基本上是按照“软件名-版本号-发行号.deb”的格式命名的,比如有一文件名称为“tkpgp_1.11-2.deb”,
包管理 Red Hat包管理(RPM) 传统的Linux/Unix软件包流行于.tar.gz(压缩的tar档案)或cpio格式。但他们没有升级或卸载的包的一些功能,并且所有这些包都没有标准的安装过程,这样使包的安装比较复杂,难以掌握。 然而随着包管理工具——RPM的出现,这种让初学者头痛的包安装问题,基本上得到了解决。由于RPM是功能最强、最先进的包管理工具之一,Red Hat Linux开发的RPM不仅用于安装包,并且也是种成熟的包管理工具。 RPM用于构造、安装、查询、检验、升级与卸载各种类别的软件包。RPM包由文件档案与包信息(包括名、版本及描述)组成。与传统的包相比,RPM包有如下的优势:
包管理 1)可靠性:老格式中易于产生损坏档案中一个或多个文件的问题。在可连接到RPM档案的数字签名的帮助下,RPM档案让用户选择包的检查。 2)升级:用RPM,用户可容易升级到包的新版本。RPM可升级包而不会丢失软件的以前版本的设置,即使是基于RPM的新发行的操作系统,也不需要重新安装。RPM对用户的系统执行一种智能、自动、现场升级。对于用包管理的老技术而言,这是不能实现的。 3)卸载:RPM可帮助用户很快卸载包。用户不必担心应用存储其文件的不同位置。RPM自动地进行所有必要的删除。他能删去除已经改变的包的配置文件外的所有文件。 4)检验:用户可通过RPM检验是否删除了正常运行所必需的包。 5)查询:即可查询某文件是属于哪一个包,也可查询指定的包是否被安装。
RPM操作 目前Red Hat Linux的工具软件中最令人称赞的就是RPM(Red Hat Package Manager)这种软件安装程序。 对于RPM,用户可以在命令窗口(字符界面)中使用其命令,也可以在图形界面中运行。在字符界面或图形界面的命令中,rpm命令的一般格式是: rpm [选项] 依赖用户所提供的选项,rpm命令将对用户所提供的包名、源RPM名或指出特定的包文件,进行初始化数据库、重构数据库、构造包、重编译包、查询、安装、清理、卸载、检验、签名检查、再签名、加入签名、设置拥有者与组、显示配置等中的一种操作方式。
RPM操作 RPM安装程序共有五种基本的操作模式:软件安装、软件升级、软件查询、软件卸载、套件检验,下面我们主要学习RPM的这几种基本的操作模式。 1 安装包 一般用户拿到的RPM软件套件,其名称都会类似于下面结构: 包名-版本号-第几次发行.运行平台.rpm 比如软件套件:xanim-2.7.0.64-3.i386.rpm,软件名称是xanim;发行版本是2.7.0.64;第三次发行;他适用的平台是Intel 386机器;后面的.rpm代表他是经过RPM重新包装过的套件。 用rpm命令的安装包的一般形式为: rpm –i[安装选项]<包_文件>
RPM操作 2 升级包 a.用-U选项升级 包的升级类似于包的安装,用-U选项来升级包。带rpm命令的升级包的一般结构是: [root@localhost root]#rpm –U [安装选项]<包--文件名> b.用-F选项清理并升级包 清理包类似于升级包,他们存在的唯一差别是:清理包必须是有老版本存在的情况下才能使用,而升级则是即使没有老版本,同样可以升级。 清理包rpm命令的一般结构如下: [root@localhost root]#rpm –F[安装选项] <包_文件>
RPM操作 3 卸载包 RPM可以容易和有效地卸载软件包。要移除已经安装的RPM软件非常简单,用户只需要在rpm命令中使用-e选项即可。用rpm命令卸载应用的一般结构如下: rpm –e <包名> 注意:在卸载包时,用户只要给出RPM要卸载的包名即可,不必给出包文件的全名。例如,我们要卸载xanim包,则可在字符界面或命令窗口中输入并执行下面的命令: [root@localhost root]#rpm –e xanim
RPM操作 4 查询包 在用户使用某些执行文件时,不知其运行版本高低,对于那些对计算机技术着迷的用户来说是一件痛苦的事。通过了解自己系统中的软件版本,为自己的机器获取并升级最新软件版本,也是优化、提高计算机的效率有效手段之一。那么如何得到已经安装的包的相关信息呢?rpm命令提供了-q选项,可以很好地解决这个问题。 带查询选项的rpm命令的一般结构如下: rpm –q [查询选项]
RPM操作 5 检验包 RPM提供的软件验证功能非常好,他会自动对照RPM查询结果,对一般文件或RPM套件提供诸如MD5、文件大小、文件连接、文件修改时间、文件权限等方面的比较信息。这些信息可以帮助用户判断所安装的软件是否正确。 在rpm命令中,用选项-V(--verify)来验证包,其验证命令一般结构如下: rpm –V[检验选项]
用RPM诊断 前面介绍了RPM的基本用法,在这一部分,我们通过实例,学习RPM命令解决实际问题的一些方式与技巧。 1)用户不知道某个程序是从什么包安装的,或当用户遇到一个不能识别的文件,并想找出哪一个包拥有此文件,则可通过键入命令:rpm –qf 文件名 2)如果用户删除某些文件,但又不能肯定删除的是什么文件时,用户可以通过检验整个系统,即执行下面的命令,找出可能丢失的文件。 [root@localhost root]#rpm –Va 3)如果用户找到了一个RPM包,又不知道该包是什么软件,则用户可以通过rpm命令,得到包中的具体信息,格式如下:rpm –qip 包文件名
用RPM诊断 4)用户希望找出由特定包所提供的某个命令的帮助文档,可以通过rpm命令来实现,格式如下: rpm –qdf /路径/命令文件名 rpm –qlp 包文件名 6)用RPM直接从网上查询或安装RPM包。通过这一功能,用户在安装包时,就可以不必事先从网上将所需要的包下载下来,而直接通过网络进行安装。方法如下: [root@localhost root]#rpm –qlp ftp://redhat.com/redhat/RPMS/xanim-2.7.0.64-3.i386.rpm
用RPM诊断 7)用户想利用一个命令,同时安装两个以上的RPM包。可以通过如下命令格式来实现: rpm –Uvh 包文件1包文件2 … 包文件n
文件压缩与打包 前面我们重点介绍了Red Hat Linux中的RPM包管理程序,通过RPM我们可以很容易地进行包的安装与维护。但是,并不是所有的程序包都是以RPM格式的形式发行的。大部分执行于开放性操作系统(Linux/FreeBSD/Unis等)的程序都还是以压缩文件的形式发布的,所以我们常常会看到扩展名为.Z、.tgz、.zip、.gz和.bz的文件。 这些文件都是使用各种不同的压缩程序所制作出来的压缩文件,从网络上取得这样的文件之后,都要先解压缩之后才能安装使用。下面介绍两种压缩与解压缩的程序和文件打包程序。
文件压缩与打包 zip和unzip 1.将文件压缩成.zip文件的zip命令 [root@localhost root]#unzip myfile
文件压缩与打包 gzip和gunzip 1.gzip命令 [root@localhost root]# gzip –d data.txt.gz 2.gunzip命令 gunzip是一个用来解gzip压缩文件的工具程序。此外,你也可以用gunzip来对zip、compress和pack所压缩的文件进行解压。
文件压缩与打包 打包文件命令tar tar程序位于/bin目录中,它能将用户所指定的文件或目录打包成一个文件,不过他并不进行压缩。UNIX中常用的压缩方式是:先用tar将许多文件打包成一个文件,再以gzip压缩成xxx.tar.gz(或名为xxx.tgz,其中xxx代表文件名)文件。 例如,将当前目录下的所有文件包装成data.tar文件: [root@localhost root]#tar cvf data.tar * 注意:扩展名tar需要用户自己给出。
文件压缩与打包 1.打包与解开 tar主要功能在于打包和解开,所谓打包就是让多个文件合成一个新文件,解开就包中将文件释放出来。 2.更新与删除 了解打包和解开的方法后,我们还可以通过参数对部分文件做更新与删除的处理。 3.调用压缩程序 Tar本身没有压缩能力,但是我们可以在生成tar文件后立即使用其他压缩命令来压缩,省去输入两个命令的麻烦。
图形界面下包的安装与管理 1 添加/删除应用程序 当用户安装了Red Hat Linux操作系统后,有时需要对已经安装的包(软件)进行删除或重新安装,在图形界面下,Red Hat Linux提供了一种“软件包管理”应用程序,可以对已经安装的软件进行删除或安装新的软件。其主要步骤如下: 1)启动并运行“软件包管理”应用程序 2)选择安装或删除软件包 3)更新系统中的软件包组
图形界面下包的安装与管理 2 文件打包器 1)文件打包器简介 文件打包器(File Roller)是一个图形化的应用软件,他具有可视化、可解压和可创建压缩文件(archive file)等功能。打包文件是一个容纳许多其他文件的文件,一个打包文件不仅可以容纳诸多文件,而且还可以容纳诸多文件夹和子文件夹,通常打包文件都是以一个压缩文件的方式保存的。
图形界面下包的安装与管理 2)文件打包器的应用 √创建一个打包文件 √从打包压缩文件中,解压恢复文件 √修改打包压缩文件
实训 1.在系统中安装chinput 2.在Linux系统中,安装智能陈桥for linux 1.1测试版
习题 1.如何在Linux系统中安装实用程序或软件?在Linux系统中,安装软件方式有几种,分别是什么? 2.能用RPM管理工具安装的软件包有哪些? 3.RPM与传统包相比,其优点有哪些? 4.怎样辨识RMP运行的平台是Intel的? 5.如何用升级的方式安装一个RPM包? 6.—F选项与—U选项的区别是什么? 7.如何卸载一个RPM包?
习题 8.如何查询一个文件是属于哪个包的? 9.将多个文件压缩成一个文件,用何种压缩命令? 10.zip和gzip压缩命令在功能上有何区别? 11.文件打包命令tar,能否对文件包内的文件自动进行压缩,如果能,那么命令格式是什么? 12.用tar如何将一个外部文件添加到打包文件中?