11软件包管理.docx

上传人:b****6 文档编号:3282002 上传时间:2022-11-21 格式:DOCX 页数:17 大小:196.10KB
下载 相关 举报
11软件包管理.docx_第1页
第1页 / 共17页
11软件包管理.docx_第2页
第2页 / 共17页
11软件包管理.docx_第3页
第3页 / 共17页
11软件包管理.docx_第4页
第4页 / 共17页
11软件包管理.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

11软件包管理.docx

《11软件包管理.docx》由会员分享,可在线阅读,更多相关《11软件包管理.docx(17页珍藏版)》请在冰豆网上搜索。

11软件包管理.docx

11软件包管理

软件包管理

    使用Linux操作系统的过程中,可能会安装、升级、删除一种软件,或者查询某一软件的版本信息,此时就可以使用rpm和yum命令。

下面介绍如何使用rpm和yum命令进行软件包的管理。

一、RPM简介

    RPM(RedltatPackageManager)是由RedHat公司开发的软件包安装和管理程序,它可使用户可以很容易地对RPM形式的软件包进行安装、升级、卸载、校验和查询等操作,安装和管理Linux上的应用程序和系统工具。

RPM使用原理:

    使用RPM管理Linux软件时,在Linux系统中保留了一个数据库,这个数据库中包含了所有软件包的资料,通过这个数据库,用户可以进行软件包装、升级、卸载、校验和查询等操作。

    RPM虽然是为Liux而设计的,但是它已经移植到AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等其他UNIX操作系统上了。

RPM遵循GPL版权协议,用户可以在符合GPL。

协议的条件下自由使用、传播RPM。

RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件。

在用RPM删除程序时,它会询问用户是否要删除有关的程序。

如果使用RPM来升级软件,RPM会保留原先的配置文件,这样用户就不用重新配置新的软件了解。

RPM的设计目的:

    

(1)方便的升级功能:

可对单个软件包进行升级,保留用户原先的配置。

    

(2)强大的查询功能:

可以针对整个软件包的数据或是某个特定的文件进行查询,也可以轻松地查出某个文件是属于哪个软件包或从哪来的。

    (3)系统校验:

不小心删除了某个重要文件,但不知道是哪个软件包需要此文件时,可以使用RPM查询已经安装的软件包中少了哪些文件,是否需要重新安装,并且可以检验出安装的软件包是否已经被别人修改过。

二、使用RPM软件包命名及安装

1、典型的命名格式(常用)

      格式为:

软件名-版本号-释出号.体系号.rpm

说明:

体系号指的是执行程序适用的处理器体系,如i386体系。

如果体系号为src时,表明为源代码包,否则为执行程序包。

实例:

如xyz-5.6-7.i386.rpm为执行程序包,软件名为xyz,版本号为5.6,释出号为7,适用体系为i386。

安装源代码包RPM软件包,必须使用命令:

       #rpmbuild--recompilexyz-5.6-7.src.rpm    //源代码解包、编译、安装。

使用命令:

       #rpmbuild--rebuildxyz-5.6-7.src.rpm     //安装完成后,把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。

2、URL方式的命名格式(较常用)

A、FTP方式的命名格式:

    ftp:

//[用户名[:

密码]@]主机[:

端口]/安装文件

说明:

主机可以是主机名,也可以是IP地址。

安装文件可含目录信息。

实例:

ftp:

//

安装这类RPM软件包,必须使用命令:

     #rpm-ivhftp:

//

     #rpm-ivhftp:

//11.22.33.44:

l100/pub/yyy.rpm

B、HTTP方式的命名格式:

    http:

//主机[:

端口]/安装文件

说明:

主机可以是主机名,也可以是IP地址。

安装文件可含目录信息。

如未指定端口,则RPM默认使用80端口。

实例:

:

8080/pub/yy.rpm(用HTTP获取WWW.XXX.COM主机上/pub目录下的yyy.rpm文件,使用端口8080)。

安装这类RPM软件包,必须使用命令:

      #rpm-ivh

      #rpm-ivh:

8080/pub/yyy.rpm

3、其他格式(很少使用)。

命名格式:

任意

说明:

将xyr5.6-7.i386.rpm改名为xyz.txt,用RPM安装也会安装成功,其根本原因是RPM判定一个文件是否为RPM格式,不是看名字,而是看内容,看其是否符合特定的格式。

三、通用RPM命令的使用

1、使用RPM安装软件步骤:

    在Linux中软件包的安装其实就是文件的复制,即把软件所用到的各个文件复制到特定目录。

RPM安装前,它通常要执行以下操作:

(1)检查软件包的依赖

    RPM格式的软件包中可包含对依赖关系的描述,如软件执行时需要什么动态链接库,需要什么程序存在以及版本号要求等。

当RPM检查时发现所依赖的链接库或程序等不存在或不符合要求时,默认的做法是中止软件包的安装。

(2)检查软件包的冲突

    有的软件与某些软件不能共存,软件包的作者会将这种冲突记录到RPM软件包中。

安装时,若RPM发现有冲突存在,将会中止安装。

(3)执行安装前脚本程序

    程序由软件包的作者设定,需要在安装前执行。

通常是检测操作环境、建立有关目录、清理多余文件等,为顺利安装作准备。

(4)处理配置文件

    RPM对配置文件有着特别的处理。

它将原配置文件换个名字保存起来(原文件名后缀加上.rpmorig),用户可根据需要再恢复,避免重新设置的尴尬。

(5)解压软件包并存放到相应位置

    这是最重要的部分,也是软件包安装的关键所在。

在这一步,RPM将软件包解压缩,将其中的文件一个个存放到正确的位置,同时,文件的操作权限等相应属性设置要正确。

(6)执行安装后脚本程序

    此类程序为软件的正确执行设定相关资源。

(7)更新RPM数据库

    安装后,RPM将所安装的软件及相关信息记录到其数据库中,便于以后升级、查询、校验和卸载。

(8)安装时触发脚本程序

    触发脚本程序是指软件包满足某种条件时才触发执行的脚本程序,它用于软件包之间的交互控制。

2、通用rpm命令的一般语法格式:

 

    rpm[选项][rpm软件包]

rpm命令通用选项:

    -i安装软件包(or--install)

    -e删除软件包(or--erase)

    -U升级软件包(or--upgrade)

    -q查询已安装的软件包(or--query)

    -V校验已安装的软件包(or--verify,or-y)

    -K校验软件包中的文件(or--checksig)

  -h(or--hash)安装时输出hash记号(``#'')

    

通用选项其他RPM选项

通用选项

通用选项

选项

说明

选项

说明

-dbpathpath

设置RPM资料库所在的路径为path

-help

显示帮助文件

-rcfilermprc

设置rpmrc文件为rcfile

-initdb

创建一个新的RPM资料库

-rootpath

让RPM将path指定的路径作为“根目录”,这样预安装程序和后安装程序都会安装到这个目录下

-quiet

尽可能地减少输出

-v

显示附加信息

-rebuilddb

重建RPM资料库

-vv

显示调试信息

-version

显示RPM的当前版本

 

3、rpm安装命令

    rpm-i[安装选项1安装选项2]…[安装文件l][安装文件2]…

说明:

参数i等同于intall;安装文件1、安装文件2…是将要安装的RPM包的文件名;详细安装选项及其说明见表l;通用选项和其他RPM选项见表2。

表1安装选项及其说明

安装选项

说明

安装选项

说明

-excludedocs

不安装软件包中的文档文件

-nodept

不检查依赖关系

-force

忽略软件包及文件的冲突

-noscripts

不运行预安装和后安装脚本

-ftpportport

指定FTP的端口号为port

-percent

以百分比的形式显示安装进度

-ftpproxyhost

用host作为FTP代理

-prefixpath

安装到由path指定的路径下

-h(or-hash)

安装时输出hash记号(#)

-revlacefiles

装替换属于其他软件包的文件

-ignorearcn

不校验软件包的结构

-replacepkgs

强制重新安装已安装的软件包

-ignoreos

不检查软件包运行的操作系统

-test

只对安装进行测试,不实际安

-includedocs

安装软件包中的文档文件

 

 

RPM安装实例

应用实例1:

安装webmin

首先:

安装webmin时要求系统必须有Perl支持,如果启用ssl的话还须有openssl及perl-net-ssleasy模块的支持!

   [root@centos5~]#rpm-qa|grepperl

   [root@centos5~]#rpm-qa|grepopenssl

第二:

下载webmin软件

   官方网站

第三:

安装

如图11-1使用i参数安装

      #rpm   -iDssktop/webmin-1.350-1.noarch.rpm

图11-1安装Webmtn软件

(一)

如图11-2使用ivh参数安装

      #rpm -ihvDssktop/webmin-1.350-1.noarch.rpm

图11-2安装Webmtn软件

(二)

说明:

 webmin是目前功能最强大的基于web的UNIX/Llnux系统管理工具。

Webmin支持绝大多数的UNIX系统,比如:

AIX、HPUX、Solaris、Umxware、Irix和FreeBSD等,还支持各种版本的Linux系统。

第四:

通过Webmin来远程管理系统

   图11-3和图11-4所示。

图5-3登录Webmin      图5-4Webmin管理界面

应用实例2:

安装CENTOSNTFS支持

   1.查看自己系统的内核版本

     #uname-a

     结果:

kernel-module-ntfs-2.6.18-53.el5

   2.找合适自己系统内核和CPU的NTFS模块下载:

     页面找到

     ...0.rr.10.11.i686.rpm

   3.安装

     运行rpm-ihvkernel-module-ntfs-2.6.18-53.el5-2.1.27-0.rr.10.11.i686.rpm,安装此RPM包。

      运行/sbin/modprobentfs加载内核模块。

   4.验证NTFS

      [root@localhostsrc]#dmesg|grepNTFS

      NTFSdriver2.1.27[Flags:

R/WMODULE].

      可以运行cat/proc/filesystems看到已经支持ntfs文件系统了。

      出现

         nodevautofs

         ntfs

      表示已经支持ntfs了!

   5.挂载分区

      

(1)fdisk-l查看分区信息

      

(2)建立挂载目录

         mkdir/mnt/ee

      (3)Mountwindwos下的所有分区

         ntfs用mount-tntfs/dev/hda6/mnt/ee

         使用df-h查看是否被mount上来

      (4)设置启动自动挂载分区

         修改/etc/fstab

         添加如下信息:

         ntfs用mount-tntfs/dev/hda6/mnt/ee

   6.卸载NTFS模块

      #rpm-qa|grep-intfs查看所安装的版本

      rpm-ekernel-module-ntfs-2.6.18-53.el5-2.1.27-0.rr.10.11.i686

4、使用RPM删除软件

命令格式:

rpm-e[删除选项1删除选项2]…[安装文件1][安装文件2]…

说   明:

参数e等同于erase;安装文件1、安装文件2…是将要删除的RPM包的文件名。

详细删除选项及其说明见表3。

删除软件应用实例:

使用rpm删除软件。

    第1步:

删除实例5-1中安装的Webrnin程序,如图5所示。

    第2步:

删除httpd(WWW服务器进程)程序,由于httpd与其他程序存在依赖关系,故仅使用-e选项时是不能删除的。

如非要删除,应使用--nodeps选项。

表3详细删除选项及其说明

删除选项

说明

-nodeps

不检查依赖关系

-noscripts

不运行预安装和后安装脚奉

-test

只对安装进行测试,并不实际安装

图5删除Webmid程序      

5、使用RPM升级软件

命令格式:

rpm-u[升级选项l升级选项2]…[安装文件1][安装文件2]…

说   明:

参数u等同于upgrade;安装文件1、安装文件2…是将要升级的RPM包的文件名。

详细升级选项及其说明见下表。

表:

详细升级选项及其说明

升级选项

说明

升级选项

说明

-excludedOCS

不安装软件包的文档文件

--nodeps

不检查依赖关系

-force

忽略软件包及文件的冲突

--noscript

不运行预安装和后安装脚本

-ftpportport

指定FTP的端口号为port

--oldpackage

允许“升级”到一个老版本

-ftpproxyhost

用host作为FTP代理

--percent

以百分比形式显示升级安装的进度

-h(or-hash)

升级时输出hash记号(#)

--prefixpath

将软件包升级到由path指定的路径

-ignorearch

不校验软件包的结构

--redlacefiles

替换属于其他软件包的文件

-ignoreos

不检查软件包运行的操作系统

--replacepkgs

强制重新升级安装已安装的软件包

-includedocs

安装软件包中的文档文件

--test

只对升级安装进行测试,不实际安装

实例:

使用rpm升级软件升级过程。

   第l步:

执行第1条命令(带-Uvh选项)。

由于webmin软件已经安装,因此给出了相应的提示。

   第2步:

执行第2条命令(带-Uvh--force选项)。

虽然webmin软件已经安装,但可以使用-force选项进行强行升级。

图7升级Webmin程序

6、使用RPM查询软件

命令格式:

rpm-q[查询选项1查询选项2]…[安装文件1][安装文件2]…

说  明:

参数q等同于uquery;安装文件1、安装文件2…是将要查询的已安装的RPM包的文件名。

查询选项及其说明见表

类别

查询选项

说明

-c

显示配置文件列表

-d

显示文档文件列表

-i

显示软件包的概要信息

-l

显示软件包中的文件列表

-s

显示软件包中文件列表并显示每个文件的状态

显示软件包的全部标识

-dump

显示每个文件的所有已校验信息

-provides

显示软件包提供的功能

-queryformat(or-qf)

以用户指定的方式显示查询信息

-requires(or-R)

显示软件包所需的功能

-scripts

显示安装、卸载、校验脚本

-a

查询所有安装的软件包

-f

查询属于哪个软件包

-g

查询属于组的软件包

-p(or”-”)

查询软件包的文件

-whatprovides

查询提供了功能的软件包

-whatrequires

查询所有需要功能的软件包

实例:

使用rpm查询软件。

   第1步:

执行带-qi选项的rpm命令查询Webmin软件,结果如图11-8所示。

图11-8查询Webmin软件

   第2步:

执行带-qa选项的rpm命令查询http软件,结果如图11-9所示。

   第3步:

执行带-qa选项的rpm命令查询hp软件,结果如图11-10所示。

图11-9查询http*软件图5-10查询ftp软件

8、使用RPM检验软件

命令格式:

rpm-V[检验选项1检验选项2]……[安装文件1][安装文件2]…

说  明:

参数v等同于verify;安装文件1、安装文件2…是将要检验的已安装的RPM包的文件名。

检验选项及其说明见下表。

表检验选项及其说明

类别

检验选项

说明

软件包选项

-a

校验所有的软件包

-ffile

校验file所属的软件包

-ggroup

校验所有属于组group的软件包

详细选项

--nodepes

不校验依赖性

--nofiles

不校验文件属性

--nofiles

不运行校验脚本

9、使用图形界面的软件包管理工具

   在终端窗口执行system-config-packages命令,打开“软件包管理者”窗口,如图11所示。

可以通过光盘或网络来安装软件包。

图11“软件包管理者”窗口

四、yum简介

1、yum的优势

   rpm命令是一个功能强大的软件包管理工具,rpm命令有两个缺点,一是需要下载适合你的升级软件包;二是检测到软件包的依赖关系时,只能手工配置。

而yum可以自动解决软件包间的依赖关系,并且可以通过网络安装和升级软件包。

   一个软件包需要一个或多个库,那么这个(些)库就是这个包的依赖。

要正常安装软件包,首先要满足它的依赖关系,一个RPM包的依赖信息存放在这个RPM包中。

yum使用软件包中的依赖关系信息,保证这个软件包在安装前,首先满足相应的条件,然后自动安装软件包。

如果发生冲突,yum会自动放弃安装,不对系统做任何修改。

yum的优势:

自动下载、自动检测、自动安装、自动配置、自动删除。

2、yum的产生

    RedHatEnterpriseLinux(RHEL从5.O版开始采用yum)、CentOS和Fedora等发行版中,采用了一种叫做yum的软件包管理工具。

yum(YellowdogUpdaterModified)用python语言写成。

yum的宗旨是收集rpm软件包的相关信息,检查依赖关系,自动地升级、安装、删除rpm软件包。

yum的关键之处是要有可靠的repository(仓库),根据计算出来的依赖关系进行相关软件包的升级、安装、删除等操作,解决了Linux用户一直头痛的依赖关系问题。

自动地完成升级、安装软件包等任务。

注:

Python是一种开源的面向对象的脚本语言,它起源于1989年末,当时,CWI(阿姆斯特丹国家数学和计算机科学研究所)的研究员GuidovanRossum需要一种高级脚本编程语言,为其研究小组的Amoeba分布式操作系统执行管理任务。

Python是一种解析性的,交互式的,面向对象的编程语言,类似于Perl或Java。

五、yum的功能

   yum的基本操作包括软件的安装(本地、网络)、升级(本地、网络)、卸载、查向。

1、用yum安装,删除软件

 

表:

用yum安装、删除软件的命令

命令

功能

yuminstall

安装指定的软件,会查询repository,如果有这一软件包,则检查其依赖冲突关系,如果没有依赖冲突,那么下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包。

yum[-y]install

安装指定的软件。

yum[-y]remove

删除指定的软件,同安装一样,yum也会查询repomtory,给出解决依赖关系的提示。

yum[-y]erase

删除指定的软件。

实例:

#yuminstallfirefox      //使用yum安装firefox,

     #yumlocalinstallxxx.rpm  //安装本地有rpm软件包

说明:

如果不是root用户,可执行命令:

$su-cyuminstallfirefox。

2、用yum检查、升级软件

   用yum检查、升级软件的命令见下表。

表:

用yum检查、升级软件的命令

命令

功能

yumcheek-update

检查可升级的rpm包

yumupdate

升级所有可以升级的rpm包

yumUpdatekernelkernel-source

升级指定的rpm包,如升级kernel和kernelsource

yum-yupdate软件包

升级所有的可升级的软件包,-y表示同意所有,不用一次次确认,避免回答—些问题

yumupdate

仅升级指定的软件

yumupgrade

大规模的版本升级,与yumupdate不同的是,连旧的淘汰的包也升级

 

3、用yum搜索、查询软件

   用yum搜索、查询软件的命令见下表。

表:

用yum搜索、查询软件的命令

命令

功能

yumsearch

搜索匹配特定字符的rpm包

yumlist

列出资源库(YumRepository)中所有可以安装或更新的rpm包

yumlistupdates

列出资源库中所有可以更新的rpm包

vumlistinstalled

列出所有已安装的rpm软件包

yumlistextras

列出所有已安装但不在资源库中的软件包

yumlist

列出所指定的软件包

yuminfo

使用YUM获取软件包信息

yuminfoupdates

列出资源库中所有可以安装或更新的rpm包的信息

yuminfoupdates

列出资源库中所有可以更新的rpm包的信息

yuminfomstalled

列出所有已安装的软件包的信息

yuminfoextras

列出所有已安装但不在资源库中的软件包信息

yum

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1