11软件包管理.docx
- 文档编号:3282002
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:17
- 大小:196.10KB
11软件包管理.docx
《11软件包管理.docx》由会员分享,可在线阅读,更多相关《11软件包管理.docx(17页珍藏版)》请在冰豆网上搜索。
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
查询软件包的文件
-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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 软件包 管理