RPM软件包管理与应用
- 格式:doc
- 大小:52.50 KB
- 文档页数:4
实验项目名称:RPM管理学号:上机实践日期:2011-10-31实验项目编号:五组号:上机实践时间: 2 学时一、目的(本次实验所涉及并要求掌握的知识点)1、学习掌握用RPM、SRPM方式安装软件包;2、掌握软件包的安装方式和管理。
二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图)实验内容1)使用wget的方式下载linuxqq的rpm包,并安装测试。
2)使用SRPM方式安装pidgin最新版本,安装并测试通过pidgin上QQ。
3)填写实验报告单,下周实验课前传到服务器上,实验报告单的文件名格式为“10.31-xxx实验报告”,xxx为自己的名字三、实验使用环境(本次实验所使用的平台和相关软件)VMware、Red Hat Enterprise Linux 5四、实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)1、使用wget的方式下载linuxqq的rpm包,并安装测试。
1)使用wget的方式下载linuxqq的rpm包2)安装linuxqq的rpm包3)安装好后,成功登陆QQ2、使用SRPM方式安装pidgin最新版本,安装并测试通过pidgin上QQ。
1)在网站上找到pidgin的源代码包的地址,使用wget的方式下载/usr/src/redhat目录下3)生成代码包,发现这个版本不能安装4)重新下载另外版本的pidgin源代码包5)将重新下载好的源代码包安装,rpm -ivh pidgin-2.7.9-0.src.rpm6)生成代码包,需要其他的依赖包7)下载并安装需要的依赖包先安装intltool包依次再安装其他的依赖包8)依赖包安装好后,进入文件目录进行重新编译9)编译过程中发现缺少Tk development header10)安装包tk11)再次进入编译结束,系统会根据自己的环境,在/usr/src/redhat/RPMS/i386/下生成一个pidgin-2.7.9-0.i386.rpm包12)安装代码包rpm -ivh pidgin-2.7.9-0.i386.rpm13)pidgin这样就装好了14)添加账号15)登陆账号五、实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)1、进行编译时所需要的依赖软件包要先从光盘查找,有些所需要的依赖软件包又有依赖包,而那些依赖包一些原本系统就已安装好,如果一些依赖包的版本型号不同就会冲突,从网上找的安装包版本容易产生冲突呢;2、依赖包装好后,进行编译会出现Tk development header找不到,检测安装环境会通不过,再安装tk-devel包就可以解决了;六、附录(参考文献和相关资料)。
rpm -ql原理标题,深入探讨rpm -ql命令的工作原理。
在Linux系统中,rpm包管理工具是非常常用的,它可以用来安装、升级、查询和删除软件包。
其中,rpm -ql命令是用来列出已安装软件包中的文件列表的。
本文将深入探讨rpm -ql命令的工作原理,帮助读者更好地理解这一常用命令。
首先,rpm是Red Hat Package Manager的缩写,它使用一种称为RPM包格式的文件来管理软件包。
每个RPM软件包都包含了一个或多个文件,以及一些元数据,如软件包的名称、版本号、依赖关系等。
当我们使用rpm -ql命令时,实际上是在查询已安装的软件包中的文件列表。
rpm -ql命令的工作原理可以分为以下几个步骤:1. 查询软件包数据库,当我们执行rpm -ql命令时,系统会首先查询软件包数据库,以确定已安装的软件包信息。
这些信息包括软件包的名称、版本号、安装路径等。
2. 提取文件列表,一旦确定了已安装的软件包,rpm -ql命令会从软件包中提取文件列表。
这些文件列表包括了软件包中所有文件的路径和名称。
3. 显示文件列表,最后,rpm -ql命令将提取到的文件列表显示给用户。
用户可以看到已安装软件包中的所有文件,从而了解软件包的组成和安装位置。
需要注意的是,rpm -ql命令只能查询已安装的软件包,而不能查询尚未安装的软件包。
如果需要查询尚未安装的软件包中的文件列表,可以使用rpm -qlp命令,其中p表示查询尚未安装的软件包。
总之,rpm -ql命令是一个非常实用的工具,可以帮助我们了解已安装软件包中的文件组成。
通过深入理解rpm -ql命令的工作原理,我们可以更好地利用这一命令,管理和维护Linux系统中的软件包。
rpm包组成结构RPM(Red Hat Package Manager)是一种在Linux系统中广泛使用的软件包管理工具。
它通过将软件打包成RPM包来方便地安装、升级和卸载软件。
RPM包的组成结构是指在创建和使用RPM包时所需的各个元素和组件。
本文将介绍RPM 包的组成结构,包括RPM包的文件结构、元数据和其他重要组件。
一、RPM包的文件结构RPM包的文件结构是指RPM包内部的目录和文件的组织结构。
RPM包内部有一些预定义的目录,包括:1. /usr:包含了系统的可执行文件、库文件和头文件等。
2. /etc:包含了系统的配置文件。
3. /var:包含了系统的变量文件,如日志文件和临时文件。
4. /bin:包含了系统的可执行文件。
此外,RPM包还包含了一些其他的目录和文件,包括:1. /usr/share/doc:包含了软件的文档文件。
2. /usr/share/man:包含了软件的man手册文件。
3. /usr/lib:包含了软件的库文件。
4. /usr/include:包含了软件的头文件。
RPM包的文件结构是由RPM包的构建过程和软件包的需求来确定的。
在创建RPM包时,需要将软件的文件和目录按照一定的规则放置到RPM包内部的相应位置。
二、RPM包的元数据RPM包的元数据是指RPM包中包含的关于软件的信息。
RPM包的元数据包括:1. 包的名称(Name):指定了软件包的名称。
2. 包的版本(Version):指定了软件包的版本号。
3. 包的发布(Release):指定了软件包的发布号。
4. 包的摘要(Summary):提供了软件包的简要描述。
5. 包的描述(Description):提供了软件包的详细描述。
6. 包的依赖关系(Dependencies):指定了软件包依赖的其他软件包。
7. 包的授权(License):指定了软件包的授权信息。
8. 包的构建时间(Build Time):指定了软件包的构建时间。
RPM是RedHat公司开发的软件包管理器,使用它可以很容易地对RPM形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用RPM形式的软件包。
软件包往往有特定的命令规范,名字是由“文件名+版本号+.rpm”组成的字串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm,它们的软件包名称分别是apache和apache-devel。
各个支持RPM格式的Linux常见软件的RPM包可以在网站中找到。
1.安装命令格式:rpm-i(or--install) options file1.rpm ... fileN.rpm参数:file1.rpm...fileN.rpm指将要安装的RPM包的文件名。
详细选项:-h(or—hash)安装时输出hash记号;test只对安装进行测试,并不实际安装;--percent以百分比的形式输出安装的进度;--excludedocs不安装软件包中的文档;--includedocs安装文档;--replacepkgs强制重新安装已经安装的软件包;--replacefiles替换属于其他软件包的文件;--force忽略软件包及文档的冲突;--noscripts不运行预安装和后安装脚本;--prefix NEWPA TH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport PORT指定FTP的端口号为PORT。
通用选项:-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。
rpm包和deb分别是什么?⼀、RMP 是 LINUX 下的⼀种软件的可执⾏程序,你只要安装它就可以了。
这种软件安装包通常是⼀个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
RPM是Red Hat公司随Redhat Linux推出了⼀个软件包管理器,通过它能够更加轻松容易地实现软件的安装。
1.安装软件:执⾏rpm -ivh rpm包名,如:#rpm -ivh apache-1.3.6.i386.rpm2.升级软件:执⾏rpm -Uvh rpm包名。
3.反安装:执⾏rpm -e rpm包名。
4.查询软件包的详细信息:执⾏rpm -qpi rpm包名5.查询某个⽂件是属于那个rpm包的:执⾏rpm -qf rpm包名6.查该软件包会向系统⾥⾯写⼊哪些⽂件:执⾏ rpm -qpl rpm包名⼆、deb 是 Unix 系统(其实主要是 Linux )下的安装包,基于 tar 包,因此本⾝会的权限(读/写/可执⾏)以及/⽤户组。
由于 Unix 类系统对权限、所有者、组的严格要求,⽽ deb 格式安装包⼜经常会涉及到系统⽐较底层的操作,所以权限等的设置尤其重要。
deb 包本⾝有三部分组成:数据包,包含实际安装的程序数据,⽂件名为 data.tar.XXX;安装信息及控制脚本包,包含 deb 的安装说明,标识,脚本等,⽂件名为 control.;最后⼀个是 deb ⽂件的⼀些⼆进制数据,包括⽂件头等信息,⼀般看不到,在某些软件中打开可以看到。
deb 本⾝可以使⽤不同的压缩⽅式。
tar 格式并不是⼀种,⽽是直接把分散的⽂件和⽬录集合在⼀起,并记录其权限等数据信息。
之前提到过的 data.tar.XXX,这⾥ XXX 就是经过压缩后的后缀名。
deb 默认使⽤的压缩格式为 gzip 格式,所以最常见的就是 data.。
常有的压缩格式还有 bzip2 和 lzma,其中 lzma 最⾼,但压缩需要的 CPU 资源和时间都⽐较长。
1.如何安装rpm软件包rmp软件包的安装可以使用程序rpm来完成。
执行下面的命令rpm -i your-package.rpm其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
安装过程中可能出现下面的警告或者提示:... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i 强制安装即可... is needed by ...... is not installed ... 此包需要的一些软件你没有安装可以用rpm --nodeps -i 来忽略此信息也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能2.如何安装.src.rpm软件包有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。
这类软件包有两种安装方法,方法一:1.执行rpm -i your-package.src.rpm2. cd /usr/src/redhat/SPECS3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录5. ./configure 这一步和编译普通的源码软件一样,可以加上参数6. make7. make install方法二:1.执行rpm -i you-package.src.rpm2. cd /usr/src/redhat/SPECS前两步和方法一相同3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件 ,这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) ,在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
rpm命令rpm安装rpm卸载rpm使⽤rpm删除在Linux操作系统中,有⼀个系统软件包,它的功能类似于Windows⾥⾯的“添加/删除程序”,但是功能⼜⽐“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。
此⼯具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借⽤。
由于它为Linux使⽤者省去了很多时间,所以被⼴泛应⽤于在Linux下安装、删除软件。
下⾯就给⼤家介绍⼀下它的具体使⽤⽅法。
rpm命令是RPM软件包的管理⼯具。
rpm原本是Red Hat Linux发⾏版专门⽤来管理Linux各项套件的程序,由于它遵循GPL规则且功能强⼤⽅便,因⽽⼴受欢迎。
逐渐受到其他发⾏版的采⽤。
RPM套件管理⽅式的出现,让Linux易于安装,升级,间接提升了Linux的适⽤度。
语法rpm(选项)(参数)选项-a:查询所有套件;-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的⽂件名称;-c:只列出组态配置⽂件,本参数需配合"-l"参数使⽤;-d:只列出⽂本⽂件,本参数需配合"-l"参数使⽤;-e<套件档>或--erase<套件档>:删除指定的套件;-f<⽂件>+:查询拥有指定⽂件的套件;-h或--hash:套件安装时列出标记;-i:显⽰套件的相关信息;-i<套件档>或--install<套件档>:安装指定的套件档;-l:显⽰套件的⽂件列表;-p<套件档>+:查询指定的RPM套件档;-q:使⽤询问模式,当遇到任何问题时,rpm指令会先询问⽤户;-R:显⽰套件的关联性信息;-s:显⽰⽂件状态,本参数需配合"-l"参数使⽤;-U<套件档>或--upgrade<套件档>:升级指定的套件档;-v:显⽰指令执⾏过程;-vv:详细显⽰指令执⾏过程,便于排错。
RPM是Redhat开发的软件包管理工具,YUM(yum)是Redhat的rpm在线安装版本,SUSE是yast。
dpkg是Debian的软件包管理软件,APT(apt-get)是其在线升级版本。
SRPM包内含源代码,其扩展名为xxxx.src.rpm,需先编译成rpm文件,再安装。
RPM文件名:硬件平台含义:pam-x.x.rpm 与 pam-devel-x.x.rpm分别是一般使用和开发版本,一般使用版本中通常没有包含头文件。
CentOS将软件放在YUM服务器上,然后分析软件的相依属性,将软件内的记录资讯写下来 (header)。
然后再将这些资讯分析后生成软件相关性的清单列表。
这些清单列表与软件所在的位置称为容器 (repository)。
安装软件的时候,用户会连接到yum服务器,下载清单列表,将清单列表的数据和本地rpm数据库中已经安装的软件比对,就能一次安装所有具有相依属性的软件。
RPM安装先检查系统环境和软件相依属性,然后进行软件安装,安装完后,程序相关的信息写在/var/lib/rpm下。
默认的安装文件目录:要以root身份运行rpm命令:rpm -i rp-pppoe-3.5-32.1.i386.rpmrpm -ivh rp-pppoe-3.5-32.1.i386.rpm可以查看安装进度rpm -ivh /path/pkgname.rpm安装在线rpm包通过光盘安装rpm包:升级RPM安装:查询某个RPM包是否已经安装:[root@www ~]# rpm -qi logrotate 列出已经安装的logrotate的详细信息,版本,安装日期等等。
[root@www ~]# rpm -qc logrotate 列出该软件的配置文件[root@www ~]# rpm -qd logrotate 列出该软件的说明文件[root@www ~]# rpm -qf /bin/sh 列出该文件属于哪一个安装的rpm。
RPM 封包格式描述什么是 RPM 封包格式RPM(Red Hat Package Manager)是一种软件封包格式,用于在基于 RPM 的Linux 操作系统中进行软件的安装、升级和卸载。
它是一种开放的标准,最初由Red Hat 公司开发,并由许多其他 Linux 发行版(如Fedora、CentOS等)采用。
RPM 封包格式不仅仅是一个存档文件,它还包含有关软件包的详细信息,如软件的版本、构建信息、依赖关系和安装/卸载脚本等。
RPM 封包格式被广泛用于Linux 软件分发、软件仓库管理和系统管理。
RPM 封包格式的结构RPM 封包格式的核心是一个二进制文件,后缀名为.rpm。
该文件实际上是一个 cpio 归档文件,其中包含多个文件和元数据。
下面是 RPM 封包格式的基本结构:1.Header 区域:Header 区域存储了 RPM 软件包的元数据,如软件包的名称、版本号、作者、依赖关系等。
这些元数据以 key-value 的形式存储,并且可以使用 RPM 工具检索和查询。
2.Payload 区域:Payload 区域存储了软件包的实际文件。
这些文件可以是二进制文件、库文件、配置文件、脚本文件等,用于执行软件包的安装和升级操作。
3.Signature 区域:Signature 区域存储了软件包的数字签名信息,用于验证软件包的完整性和真实性。
签名可以确保软件包在传输和安装过程中没有被篡改或恶意修改。
RPM 封包格式的优势RPM 封包格式具有以下优势,使其成为 Linux 发行版中广泛采用的软件封包格式:1.便于软件分发和安装:RPM 格式提供了一种标准的软件封装和分发方法,使软件的安装和升级简化。
用户可以使用 RPM 工具轻松地安装、升级和卸载软件包。
2.详细的软件元数据:RPM 封包格式存储了丰富的软件元数据,如软件包名称、版本、作者、依赖关系等。
这些信息使用户能够了解软件包的详细信息并作出明智的决策。
RHCE课程-RH131Linux管理笔记一-RPM及其管理,YUM客户端及服务器的配置学习一个操作系统,安装软件是最基本的操作了,如果你学LINUX连软件都不会安装,那就实在混的不入流了。
今天我们就讲讲LINUX下包的安装。
系统管理第一部分:RPM包安装及管理RPM:红帽子包管理器(RedHat Package Manager)今天我们主要就学习这种包管理方式安装与卸除常用参数:-i,-u,-F,-e rpm-i:在该rpm包与该包的旧版本未被安装过的情况下,安装该rpm包。
rpm-U:无论系统是否有安装过某rpm包或其旧版本,安装或更新指定的rpm 包。
rpm-F:仅在系统已安装某rpm包的旧版本rpm包时,更新rpm包。
否则不安装。
卸除:rpm–e包名(注:不能以.rpm或I386.rmp结尾)在安装的时候要显示进度,就需要加vh参数所以一般安装包就是这样:rpm-ivh包名字大家先把光盘放入虚拟机的光驱.然后我们到/misc/cd目录:cd/misc/cd进入Server目录大家把vsftpd安装了吧,记住用TAB补全然后大家在选个其他包安装下试试哈~由于rpm安装依耐关系太郁闷了,所以我们要学习RPM安装.我还是把RPM常用的命令给大家介绍下:可能会用到的补充参数输出用:-v,-h预设条件:--nodeps,--force重定位:--root参数,允许将一个RPM包安装到mount在当前系统上的另一个Linux系统,或者另一个特定的目录上。
当升级内核的时候用这个命令:rpm-Uvh--force内核文件包还有就是删除已经安装的包:rpm-e包名记住删除和查看都用包名字,不需要版本号详细选项:-h(or--hash)安装时输出hash记号(``#'')--test只对安装进行测试,并不实际安装。
--percent以百分比的形式输出安装的进度。
--excludedocs不安装软件包中的文档文件--includedocs安装文档--replacepkgs强制重新安装已经安装的软件包--replacefiles替换属于其它软件包的文件--force忽略软件包及文件的冲突--noscripts不运行预安装和后安装脚本--prefix<path>将软件包安装到由<path>指定的路径下--ignorearch不校验软件包的结构--ignoreos不检查软件包运行的操作系统--nodeps不检查依赖性关系--ftpproxy<host>用<host>作为FTP代理--ftpport<port>指定FTP的端口号为<port>--oldpackage给已经安装了最高版本的RPM降级大家看看这些参数,有点印象就好了,要用的时候在查哈~~~RPM包的查询:rpm-q:查询某一个RPM包是否已安装rpm-qi:查询某一个RPM包的详细信息rpm-ql:列出某RPM包中所包含的文件rpm-qf:查询某文件属于哪一个RPM包rpm-qa:列出当前系统所有已安装的包大家先用rpm-qa查询所有然后找个包,用rpm-ql查看里面的文件然后用rpm-qf查看其中一个文件,得到这个文件是哪个包的/var/log/rpmpkgs相当于rpm-qa输出的结果•对一个将要安装的RPM包,我们通常可以用rpm-qpi或rpm-qpl来查询该包的相关信息与内含文件RPM包的校验rpm-V:校验某个RPM包rpm-Va:校验所有已安装的RPM包RPM包的检查rpm-K:检查RPM包的GPG签名rpm-V可以让用户很方便地检查,与安装的时候相比,某RPM包中的文件是否发生了什么变化。
RPM包的管理与应用 一)初始化rpm 数据库
通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库; [root@localhost beinan]# rpm --initdb [root@localhost beinan]# rpm --rebuilddb 注:这个要花好长时间; 注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;
二)RPM软件包管理的查询功能 命令格式 rpm {-q|--query} [select-options] [query-options] RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm
1、对系统中已安装软件的查询; 1)查询系统已安装的软件; 语法:rpm -q 软件名 举例: [root@localhost beinan]# rpm -q gaim gaim-1.3.0-1.fc4 -q就是 --query ,中文意思是“问”,此命令表示的是,是不是系统安装了gaim ;如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息; 查看系统中所有已经安装的包,要加 -a 参数 ; [root@localhost RPMS]# rpm -qa
如果分页查看,再加一个管道 |和more命令; [root@localhost RPMS]# rpm -qa |more 在所有已经安装的软件包中查找某个软件,比如说 gaim ;可以用 grep 抽取出来; [root@localhost RPMS]# rpm -qa |grep gaim 上面这条的功能和 rpm -q gaim 输出的结果是一样的; 2)查询一个已经安装的文件属于哪个软件包; 语法 rpm -qf 文件名 注:文件名所在的绝对路径要指出 举例: [root@localhost RPMS]# rpm -qf /usr/lib/libacl.la libacl-devel-2.2.23-8 3)查询已安装软件包都安装到何处; 语法:rpm -ql 软件名 或 rpm rpmquery -ql 软件名 举例: [root@localhost RPMS]# rpm -ql lynx [root@localhost RPMS]# rpmquery -ql lynx 4)查询一个已安装软件包的信息 语法格式: rpm -qi 软件名 举例: [root@localhost RPMS]# rpm -qi lynx 5)查看一下已安装软件的配置文件; 语法格式:rpm -qc 软件名 举例: [root@localhost RPMS]# rpm -qc lynx 6)查看一个已经安装软件的文档安装位置: 语法格式: rpm -qd 软件名 举例: [root@localhost RPMS]# rpm -qd lynx 7)查看一下已安装软件所依赖的软件包及文件; 语法格式: rpm -qR 软件名 举例: [root@localhost beinan]# rpm -qR rpm-python 查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如: [root@localhost RPMS]# rpm -qil lynx
2、对于未安装的软件包的查看: 查看前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等; 1)查看一个软件包的用途、版本等信息; 语法: rpm -qpi file.rpm 举例: [root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm 2)查看一件软件包所包含的文件; 语法: rpm -qpl file.rpm 举例: [root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm 3)查看软件包的文档所在的位置; 语法: rpm -qpd file.rpm 举例: [root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm 5)查看一个软件包的配置文件; 语法: rpm -qpc file.rpm 举例: [root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm 4)查看一个软件包的依赖关系 语法: rpm -qpR file.rpm 举例: [root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm /bin/bash /usr/bin/python config(yumex) = 0.42-3.0.fc4 pygtk2 pygtk2-libglade rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 usermode yum >= 2.3.2
三)软件包的安装、升级、删除等 1、安装和升级一个rpm 包; [root@localhost beinan]#rpm -vih file.rpm 注:这个是用来安装一个新的rpm 包; [root@localhost beinan]#rpm -Uvh file.rpm 注:这是用来升级一个rpm 包; 如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装; 语法结构: [root@localhost beinan]# rpm -ivh file.rpm --nodeps --force [root@localhost beinan]# rpm -Uvh file.rpm --nodeps --force 更多的参数,请查看 man rpm 举例应用: [root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%] 1:lynx ########################################### [100%]
[root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%] 1:lynx ########################################### [100%] 注: --replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要; 测试安装参数 --test ,用来检查依赖关系;并不是真正的安装; [root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%] 由新版本降级为旧版本,要加 --oldpackage 参数; [root@localhost RPMS]# rpm -qa gaim gaim-1.5.0-1.fc4
[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%] 1:gaim ########################################### [100%]
[root@localhost RPMS]# rpm -qa gaim gaim-1.3.0-1.fc4 为软件包指定安装目录:要加 -relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在 /opt/gaim 目录中; [root@localhost RPMS]# rpm -ivh --relocate /(这里必须有间隔和/)=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%] 1:gaim ########################################### [100%] [root@localhost RPMS]# ls /opt/ gaim 为软件包指定安装目录:要加 -relocate 参数;下面的举例是把lynx-2.8.5-23.i386.rpm 指定安装在 /opt/lynx 目录中; [root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%] 1:lynx ########################################### [100%] 我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用 ln -s ; [root@localhost RPMS]# /opt/lynx/usr/bin/lynx
Configuration file /etc/lynx.cfg is not available. [root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg /etc/lynx.cfg [root@localhost RPMS]# /opt/lynx/usr/bin/lynx www.linuxsir.org