RPM命令详解

合集下载

RPM详解——精选推荐

RPM详解——精选推荐

RPM详解概述RPM⽂件结构RPM包⽂件⼀般包含4部分:Lead、Signature、Header、Payloadlead----开头的标识部分,⽤于标识此份⽂件为⼀个RPM包Signature-----数字签名,通常包括针对头部的签名和针对载荷的签名Header--------头部,通常包括版权信息,版本号,包描述等信息;有时还包含⼀些特定的标签(Tag),⽐如PRE Tag就包含了rpm包在安装前需要执⾏的预安装脚本。

Payload-------载荷,包含实际安装的⽂件RPM命令安装及升级安装的⼀般步骤install a package, it goes through a number of steps:1.Checking the package and the files it wants to install2.Performing preinstallation tasks3.Uncompressing the files and placing them in the proper locations4.Performing post-processing tasks5.Updating the RPM DatabaseRPM数据库的相关⽂件位于/var/lib/rpm/⽬录下。

新安装@前⾯为⽤户名及密码,⽤户名uncljoe ,密码workers升级rpm -Uvh ⽆论软件包存在与否都执⾏升级或rpm -Fvh仅针对已安装的软件包进⾏升级升级时,RPM会对每个⽂件,⽐对三个版本的MD5校验值(old package file,current file,new package file)。

如果old package file与new package file的MD5校验值⼀样,但current file 不同,说明新⽼版本的⽂件是⼀样的,但管理员编辑过该⽂件(通常是⼀些配置⽂件),rpm 会保留current file(保留管理员的所做的配置),⽽不会⽤新包中的⽂件覆盖。

LinuxRPM包安装、卸载和升级(rpm命令)详解

LinuxRPM包安装、卸载和升级(rpm命令)详解

LinuxRPM包安装、卸载和升级(rpm命令)详解
本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装、卸载和升级操作。

我们以安装apache 程序为例。

因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。

RPM包默认安装路径
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。

是测试页,如图 2 所示。

图 2 apache测试页
-e 选项表示卸载,也就是 erase 的首字母。

RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。

什么是RPM命令

什么是RPM命令

什么是RPM命令RPMRPM 是Red Hat Package Manager的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;RPM包里面都包含可执行的二进制程序。

一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;一、RPM包管理的用途1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;3、可以在查询系统中的软件包是否安装以及其版本;4、作为开发者可以把自己的程序打包为RPM 包发布;5、软件包签名GPG和MD5的导入、验证和签名发布6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;二、RPM 的使用权限RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;三、rpm 的一点简单用法我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时我们在一些网站上找到file.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 rpm1、对系统中已安装软件的查询;1)查询系统已安装的软件;语法:rpm -q 软件名举例:[root@localhost beinan]# rpm -q gaimgaim-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-devel-2.2.23-83)查询已安装软件包都安装到何处语法:rpm -ql 软件名或rpmquery -ql 软件名举例:[root@localhost RPMS]# rpm -ql lynx [root@localhost RPMS]# rpmquery -ql lynx 4)查询一个已安装软件包的信息语法格式:rpm -qi 软件名举例:[root@localhost RPMS]# rpm -qi lynx5)查看一下已安装软件的配置文件;语法格式:rpm -qc 软件名举例:[root@localhost RPMS]# rpm -qc lynx6)查看一个已经安装软件的文档安装位置:语法格式:rpm -qd 软件名举例:[root@localhost RPMS]# rpm -qd lynx7)查看一下已安装软件所依赖的软件包及文件;语法格式:rpm -qR 软件名举例:[root@localhost beinan]# rpm -qR rpm-python查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如rpm -qil ;比如:[root@localhost RPMS]# rpm -qil lynx2、对于未安装的软件包的查看:1)查看一个软件包的用途、版本等信息;语法:rpm -qpi file.rpm举例:[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm2)查看一件软件包所包含的文件;语法:rpm -qpl file.rpm举例:[root@localhost RPMS]# rpm -qpllynx-2.8.5-23.i386.rpm3)查看软件包的文档所在的位置;语法:rpm -qpd file.rpm举例:[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm5)查看一个软件包的配置文件;语法:rpm -qpc file.rpm举例:[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm4)查看一个软件包的依赖关系语法:rpm -qpR file.rpm举例:[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm/bin/bash/usr/bin/pythonconfig(yumex) = 0.42-3.0.fc4pygtk2pygtk2-libgladerpmlib(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举例应用:[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%][root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ###########################################[100%]注:--replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要;测试安装参数--test ,用来检查依赖关系;并不是真正的安装;[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]由新版本降级为旧版本,要加--oldpackage 参数;[root@localhost RPMS]# rpm -qa gaim[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]1:gaim ########################################### [100%][root@localhost RPMS]# rpm -qa gaimgaim-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.rpmPreparing... ###########################################[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.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%]我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用ln -s ;[root@localhost RPMS]# /opt/lynx/usr/bin/lynxConfiguration 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 2、删除一个rpm 包;[root@localhost beinan]#rpm -e 软件包名举例:我想移除lynx 包,完整的操作应该是:[root@localhost RPMS]# rpm -e lynx如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。

rpm详解

rpm详解

1)RPM(Redhat Package Management)是由RedHat研发的,在Linux 系统下的系统包管理工具。

RPM包的产生目的:使包的安装和卸载过程更容易,他能够证实一个包是否已正确安装了,能简化包的建立过程,能从原始码建立整个包,他能用于不同的体系结构。

RPM系统已成为目前Linux系统下包管理工具事实上的标准,并且他也移植到非常多商业的unix系统之下。

RPM包组成:由包标签对他标识,包标签包含软件名,软件版本,包的发行版本几部分。

在包的内部还包含包的建立时间,包的内容描述,安装包的所有文件的大小,数字签名以证实包的完整性等信息。

RMP包还包含包内的文件信息,其中包括:每个文件的文件名,每个文件的权限,文件的属组和拥有者,每个文件的md5校验和,文件的内容等。

RPM包名的组成:rpm包的名字都包含一个后缀“arch.rpm”,arch 指的是体系结构,对于Intel平台的有i386、i586、i686等,你所安装的包必须要和机器上的共享库的版本相匹配。

如果你发现某个RPM包没有安装,你能自己安装。

所有时候,你都能(必须是root用户)安装RPM包。

RPM包管理系统提供的功能:安装新的包,卸载旧的包,将一个旧包升级为新的包,获得已安装包的信息等。

周详讲述RPM源码包的构成:RPM需要一系列目录完成建立的工作。

正常的目录结构通常由一个顶级目录/usr/src/redhat/和五个子目录构成。

这五个子目录分别是:SOURCES------包含原始的源文件和补丁文件。

SPECS--------包含控制RPM包建立过程的spec文件。

BUILD--------包含源码解包和软件建立的目录。

RPMS---------包含建立过程创建的二进制包文件。

SRPMS--------包含建立过程创建的源码包文件。

(在RPMS或SRPMS目录下通常还会有关于RPM包目标平台的目录。

例如,i386、i586、i686等代表和Intel兼容cpu的平台,noarch目录下的RPM 包代表能在所有平台下执行。

rpm --import用法 -回复

rpm --import用法 -回复

rpm --import用法-回复RPM (Red Hat Package Manager) 是一种用于在Linux系统上进行软件包管理的工具。

它允许用户安装、升级、卸载和查询软件包,以及解决包依赖关系等。

RPM包是一种软件包容器,它包含了执行特定功能的二进制文件、配置文件、文档等。

在使用RPM进行软件包管理时,经常会遇到要导入(import)一个软件包的需求。

RPM提供了一系列的import命令,可以从不同的来源导入软件包。

下面我们将一步一步回答关于RPM import用法的问题。

1. 什么是RPM import?RPM import是指将软件包导入到系统中的过程。

导入后,系统就可以通过RPM工具来管理和使用这个软件包。

2. RPM import的主要用途是什么?RPM import主要被用来将外部建立的软件包或者自己打包的软件包引入到系统之中,方便管理和部署。

3. 如何进行RPM import?RPM import可以通过rpm命令进行操作。

常见的import命令包括以下几种:- `rpm -i <package.rpm>`:通过rpm命令直接安装RPM包。

- `rpm -U <package.rpm>`:通过rpm命令升级已安装的RPM包。

- `rpm -F <package.rpm>`:通过rpm命令升级已安装的RPM包,仅当目标系统上已存在该软件包时才生效。

- `rpm -e <package>`:通过rpm命令卸载指定的RPM包。

在执行这些命令之前,需要确认系统中是否已经安装了rpm工具。

如果没有安装,可以通过以下命令进行安装:sudo apt-get install rpm # For Ubuntu/Debiansudo dnf install rpm # For Fedorasudo zypper install rpm # For openSUSE4. 如何获取RPM包?要进行RPM import,首先需要获取RPM包。

linux中的rpm命令的详细解释

linux中的rpm命令的详细解释

linux中的rpm命令的详细解释linxu下的rpm命令其实是一个软件包管理程序。

下面由店铺为大家整理了linux的rpm命令的详细解释的相关知识,希望对大家有帮助!一、linux中的rm命令的详细解释1.什么是rpmRPM 是Red hat Package Manager 的缩写,本意是Red Hat软件包管理,由RedHat开发出来的一种软件包管理程序,后来被LSB(Linux规范标准)会正式吸纳为Linux的标准包格式,命名为RPM Package Manager,现在所说的RPM即使 RPM Package Manager的缩写。

2.为什么要使用RPM软件包管理器RPM软件包管理器简化了用户在Linux系统上对软件进行安装、卸载、升级或更新的过程,只需要简短的命令就可以完成,从而省去了对对源代码进行编译、安装的复杂过程,从而大大提高了管理人员的工作效率3.RPM命名格式命名格式:appname-VERSION-RELEASE.ARCH.rpmVERSION:magior:主版本号minor:次版本号release:发行号RELEASE:包自身的修订号,有时候会包含适用的OS信息:eg: bash-4.3.2-2.centos6.x86_64.rpm中 2.centos6 就是RELEASE号ARCH:适用平台x86: i386, i486, i586, i686x86_64: x86_64, amd64powerpc: ppcnoarch: 跟平台无关;(perl,python,ruby等编译的程序)RPM分包机制:核心包,主包:命名与源项目名称一致;eg: bash-4.3.2-2.centos6.x86_64.rpm子包(支包):命令为源项目名称后附加支包中的文件提供的功能组成eg: bash-devel-4.3.2-2.centos6.x86_64.rpmRPM包获取途径1、系统的发行光盘镜像或官方站点2、程序包官方站点3、第三方组织:epel4、搜索RPM包的搜索引擎建议:生产过程中对rpm软件包安装之前需要验证程序包的来源合法性及包的完整性二、Linux中的rpm命令的安装方法安装语法格式:rpm {-i|--install} [install-options] PACKAGE_FILE1...安装时常用选项:-h: hash,以#来表示安装进度;每个# 号表示2%的安装进度-v, --verbose:显示安装过程中的详细信息;-vv: 能显示更加详细信息-vvv:--test:测试安装,不执行真正的安装过程,而仅报告依赖关系及冲突信息等;--nodeps :忽略依赖关系安装,【能安装成功,但未必能成功运行;】--replacepkgs:覆盖安装--重新安装并覆盖原有的文件--force:强制安装--olepackage:降级到旧版本--relocate 指明安装位置--replacefiles 指明安装时替换某个文件--replacepkgs 指明安装时替换整个包安装时常用组合: -ivh --ivvh三、Linux中rpm命令的升级步骤升级语法格式:rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...-U: 升级或安装rpm {-F|--freshen} [install-options] PACKAGE_FILE ...-F:升级【只进行升级】升级常用选项-v, --verbose:显示升级过程中的详细信息;-vv: 能显示更加详细信息-vvv:--test:测试升级安装,不执行真正的升级安装过程,而仅报告依赖关系及冲突信息等;--nodeps :忽略依赖关系进行升级,--force:强制升级--olepackage:降级到旧版本升级时常用组合: -Uvh --Uvvh注意1:一定不要对内核执行升级;Linux允许多内核共存,所以,可以直接安装多个不同版本内核;注意2:如果程序包的配置文件安装后曾被修改,升级时,新版本的文件不会覆盖老版本的配置文件,而把新版本的配置文件重命名(加后缀.rpmnew)后保存;。

rpm 命令行参数详解

rpm 命令行参数详解

rpm 命令行参数详解rpm命令行参数详解在Linux系统中,RPM(Red Hat Package Manager)是一种常用的软件包管理工具。

通过使用rpm命令,用户可以对系统中的软件包进行查询、安装、升级和卸载等操作。

本文将详细介绍rpm命令的各种参数及其用法。

1. 查询操作1.1 查询已安装的软件包使用rpm命令的-q参数可以查询已安装的软件包信息,例如:rpm -q package_name该命令将显示指定软件包的版本、发布号以及其他相关信息。

1.2 查询软件包文件所属的软件包使用rpm命令的-f参数可以查询指定文件所属的软件包,例如:rpm -qf file_name该命令将显示指定文件所属的软件包名称及其版本信息。

1.3 查询软件包中的文件列表使用rpm命令的-q参数结合-l参数可以查询软件包中的文件列表,例如:rpm -ql package_name该命令将显示指定软件包中所有文件的路径列表。

2. 安装操作2.1 安装软件包使用rpm命令的-i参数可以安装指定的软件包,例如:rpm -i package_name.rpm该命令将安装指定的软件包到系统中。

2.2 强制安装软件包使用rpm命令的--force参数可以强制安装软件包,即使系统中已经存在同名的软件包,例如:rpm -i --force package_name.rpm该命令将覆盖系统中已有的同名软件包并安装新的软件包。

2.3 安装软件包时显示详细信息使用rpm命令的-v参数可以在安装软件包时显示详细的安装信息,例如:rpm -iv package_name.rpm该命令将显示软件包的安装进度和详细信息。

3. 升级操作3.1 升级软件包使用rpm命令的-U参数可以升级系统中已安装的软件包,例如:rpm -U package_name.rpm该命令将升级系统中已安装的同名软件包为新版本。

3.2 强制升级软件包使用rpm命令的--force参数可以强制升级软件包,即使系统中已经存在同名的软件包,例如:rpm -U --force package_name.rpm该命令将覆盖系统中已有的同名软件包并升级为新版本。

rpm 原理

rpm 原理

rpm 原理RPM 是一种常用的软件包管理系统,可以在 Linux 操作系统上高效地安装、升级、卸载和管理软件包。

它的原理基于一系列的脚本和元数据文件,核心原理如下:1. 软件包:RPM 的基本单位是软件包,它是预先打包好的软件分发单元。

软件包包含了软件的二进制文件、库文件、配置文件、文档等。

2. 软件包索引:RPM 使用软件包索引文件来跟踪系统上已安装的软件包。

索引文件记录了软件包的名称、版本、依赖关系等信息。

3. 事务:RPM 操作以事务为单位进行。

在安装、升级或卸载软件包时,要创建一个事务来记录所做的更改。

这样,在出现错误或需要回滚的情况下,可以撤销事务或回滚到事务之前的状态。

4. 依赖关系管理:RPM 使用依赖关系来确保软件包的正确安装和升级。

每个软件包都可以指定依赖于其他软件包的版本或功能,这样在安装时会自动检查系统是否满足这些依赖关系。

5. 脚本:RPM 提供了一系列的脚本来执行各种操作。

其中常见的脚本包括安装前脚本(pre-install)、安装后脚本(post-install)、卸载前脚本(pre-uninstall)和卸载后脚本(post-uninstall)。

这些脚本可以在软件包安装或卸载时执行特定的操作,例如创建或删除配置文件、修改系统设置等。

6. 构建工具:RPM 还提供了构建工具,用于创建软件包。

通过构建工具,可以将软件的源代码和相关文件打包成一个完整的软件包,并生成相应的元数据文件和索引。

综上所述,RPM 的原理通过软件包、软件包索引、事务、依赖关系管理、脚本和构建工具等组成,实现了软件包的高效管理和系统维护。

它简化了软件安装和管理过程,提高了系统的稳定性和可靠性。

RPM命令详解

RPM命令详解

RPM命令详解来源: ChinaUnix博客日期:2006.06.13 18:13(共有条评论) 我要评论RPM有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。

下面我们就来逐一的讲解吧。

一、安装RPM包RPM软件包通常具有类似foo-1.0-1.i386.rpm的文件名。

其中包括软件包的名称(foo),版本号(1.0),发行号(1),和硬件平台(i386)。

安装一个软件包只需简单的键入以下命令:$ rpm -ivh foo-1.0-1.i386.rpmfoo ####################################RPM安装完毕后会打印出软件包的名字(并不一定与文件名相同),而后打印一连串的#号以表示安装进度。

虽然软件包的安装被设计的尽量简单易行,但还是可能会发生如下的错误:1、软件包已被安装如果您的软件包已被安装, 将会出现以下信息:$ rpm -ivh foo-1.0-1.i386.rpmfoo package foo-1.0-1 is already installederror: foo-1.0-1.i386.rpm cannot be installed如果您仍旧要安装该软件包,可以在命令行上使用--replacepkgs选项,RPM将忽略该错误信息强行安装。

2、文件冲突如果您要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:# rpm -ivh foo-1.0-1.i386.rpmfoo /usr/bin/foo conflicts with file from bar-1.0-1error: foo-1.0-1.i386.rpm cannot be installed要想让RPM 忽略该错误信息,请使用--replacefiles 命令行选项。

3、未解决依赖关系RPM软件包可能依赖于其它软件包,也就是说要求在安装了特定的软件包之后才能安装该软件包。

rpm使用方法

rpm使用方法

rpm使用方法
RPM是一个软件包管理工具,用于在Linux操作系统中安装、升级和卸载软件包。

以下是使用RPM的一些常见方法:
1. 安装软件包:使用rpm命令安装软件包,例如:
`rpm -ivh packagename.rpm`
其中,-i参数表示安装,-v参数表示显示详细信息,-h参数表示显示进度条。

2. 升级软件包:使用rpm命令升级软件包,例如:
`rpm -Uvh packagename.rpm`
其中,-U参数表示升级,-v参数表示显示详细信息,-h参数
表示显示进度条。

3. 卸载软件包:使用rpm命令卸载软件包,例如:
`rpm -e packagename`
其中,-e参数表示卸载软件包。

4. 查询软件包信息:使用rpm命令查询软件包信息,例如:
`rpm -q packagename`
其中,-q参数表示查询软件包信息。

5. 列出所有安装的软件包:使用rpm命令列出所有已安装的软件包,例如:
`rpm -qa`
其中,-a参数表示列出所有软件包。

6. 列出软件包文件列表:使用rpm命令列出软件包中包含的所有文件,例如:
`rpm -ql packagename`
其中,-q参数表示查询软件包信息,-l参数表示列出软件包文件列表。

以上是使用RPM的一些常见方法,需要注意的是,在使用rpm命令时需要以root权限运行。

RPM命令详解

RPM命令详解

RPM命令详解rpm 常用命令1.安装一个包# rpm -ivh2.升级一个包# rpm -Uvh3.移走一个包# rpm -e4.安装参数--force 即使覆盖属于其它包的文件也强迫安装--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

5.查询一个包是否被安装# rpm -q < rpm package name>6.得到被安装的包的信息# rpm -qi < rpm package name>7.列出该包中有哪些文件# rpm -ql < rpm package name>8.列出服务器上的一个文件属于哪一个RPM包#rpm -qf9.可综合好几个参数一起用# rpm -qil < rpm package name>10.列出所有被安装的rpm package# rpm -qa11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?# rpm -qilp < rpm package name><>一、安装命令格式:rpm -i ( or --install) options file1.rpm ... fileN.rpm参数:file1.rpm ... fileN.rpm 将要安装的RPM包的文件名详细选项:-h (or --hash) 安装时输出hash记号 (``#'')Print 50 hash marks as the package archive is unpacked. Usewith -v|--verbose for a nicer display.--test 只对安装进行测试,并不实际安装。

--percent 以百分比的形式输出安装的进度。

--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--noscripts 不运行预安装和后安装脚本--prefix 将软件包安装到由指定的路径下--ignorearch 不校验软件包的结构--ignoreos 不检查软件包运行的操作系统--nodeps 不检查依赖性关系--ftpproxy 用作为 FTP代理--ftpport 指定FTP的端口号为通用选项-v 显示附加信息-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为二、删除命令格式:rpm -e ( or --erase) options pkg1 ... pkgN参数pkg1 ... pkgN :要删除的软件包详细选项--test 只执行删除的测试--noscripts 不运行预安装和后安装脚本程序--nodeps 不检查依赖性通用选项-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为三、升级命令格式rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm参数file1.rpm ... fileN.rpm 软件包的名字详细选项-h (or --hash) 安装时输出hash记号 (``#'')--oldpackage 允许"升级"到一个老版本--test 只进行升级测试--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--percent 以百分比的形式输出安装的进度。

rpm的工作原理和作业过程

rpm的工作原理和作业过程

RPM(Red Hat Package Manager)是Red Hat发行版中使用的包管理工具,它用于安装、卸载、更新和查询已安装的软件包。

RPM使用二进制包进行软件分发,这些包包含了预编译的程序和相关的配置文件。

以下是对RPM工作原理和作业过程的详细介绍:1. 打包:RPM使用.spec文件来描述软件包的元数据,如软件包名称、版本、描述等。

开发人员使用rpmbuild工具根据源码和.spec 文件构建RPM包。

RPM包包含了预编译的程序和相关的配置文件,以便在目标系统上安装。

2. 安装:要安装一个RPM包,用户可以使用rpm命令或者通过图形界面工具(如Yum或DNF)进行安装。

RPM会检查系统中的依赖关系,确保所有必需的软件包都已安装。

然后,RPM会将软件包文件复制到目标系统上,并执行安装脚本以完成安装过程。

3. 卸载:要卸载一个RPM包,用户可以使用rpm命令或者通过图形界面工具进行卸载。

RPM会执行卸载脚本,删除软件包文件,并处理任何依赖关系。

4. 查询:用户可以使用rpm命令或者通过图形界面工具查询已安装或可用的软件包信息。

例如,可以查询软件包的详细描述、版本号、安装状态等。

5. 验证:RPM提供了验证机制,以确保软件包的完整性和真实性。

通过使用数字签名,RPM可以验证软件包的来源和完整性,防止篡改。

6. 依赖管理:RPM能够自动处理软件包的依赖关系。

当安装或卸载一个软件包时,RPM会检查该软件包所依赖的其他软件包是否已安装,并自动处理依赖关系,以确保系统的正常运行。

7. 软件仓库管理:RPM支持多个软件仓库的管理,以便用户可以从多个源获取软件包。

图形界面工具如Yum或DNF提供了方便的界面来管理软件仓库,包括添加、删除或配置仓库。

8. 安全性:RPM本身不提供安全性功能,但它是基于Linux操作系统的安全机制之上的。

Linux操作系统提供了用户权限管理、文件系统权限和防火墙等安全机制,以确保系统的安全性和隔离性。

rpm 常用命令

rpm 常用命令

rpm 常用命令RPM是一种常用的软件包管理器,它可以在Linux系统上安装、升级和删除软件包。

下面将介绍一些常用的RPM命令。

1. rpm -qa该命令可以列出所有已安装的软件包。

q表示查询,a表示所有已安装的软件包。

该命令会输出软件包名称和版本号。

2. rpm -qi该命令可以查询指定软件包的详细信息。

i表示信息,后面跟上软件包名称即可。

输出内容包括软件包名称、版本号、发布日期、大小、作者等信息。

3. rpm -qf该命令可以查询指定文件属于哪个软件包。

f表示文件,后面跟上文件路径即可。

如果文件不存在于任何一个已安装的软件包中,则会输出“not owned”。

4. rpm -ql该命令可以列出指定软件包中所有文件的路径。

l表示列表,后面跟上软件包名称即可。

5. rpm -qR该命令可以列出指定软件包所依赖的其他软件包。

R表示依赖关系,后面跟上软件包名称即可。

6. rpm -ivh该命令可以安装一个新的rpm包。

i表示安装,v表示显示详细信息,h表示显示进度条。

后面跟上rpm文件名即可。

7. rpm -Uvh该命令可以升级一个已有的rpm包。

U表示升级,v和h同上。

后面跟上rpm文件名即可。

8. rpm -e该命令可以卸载一个已安装的软件包。

e表示卸载,后面跟上软件包名称即可。

9. rpm -Va该命令可以验证所有已安装的软件包是否完整。

V表示验证,a表示所有已安装的软件包。

如果有文件被修改或删除,则会输出错误信息。

10. rpm -Va --nofiles --nodigest该命令可以验证所有已安装的软件包是否完整,但忽略文件和摘要信息。

如果有文件被修改或删除,则会输出错误信息。

以上是一些常用的RPM命令,它们可以帮助我们管理Linux系统中的软件包。

在使用这些命令时,需要注意权限问题,并且要谨慎操作,以免出现不可预料的错误。

rpm命令参数使用详解

rpm命令参数使用详解

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。

二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。

源代码包经常以src.rpm作为后缀名。

常用命令组合:-ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update;-qpl:列出RPM软件包内的文件信息[Query Package list];-qpi:列出RPM软件包的描述信息[Query Package install package(s)];-qf:查找指定文件属于哪个RPM软件包[Query File];-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];-e:删除包rpm -q samba //查询程序是否安装rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路径安装并显示进度rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm//用来检查依赖关系;并不是真正的安装;rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降级为旧版本rpm -qa | grep httpd#[搜索指定rpm包是否安装]--all搜索*httpd*rpm -ql httpd#[搜索rpm包]--list所有文件安装目录rpm -qpi Linux-1.4-6.i368.rpm#[查看rpm包]--query--package--install package信息rpm -qpf Linux-1.4-6.i368.rpm#[查看rpm包]--filerpm -qpR file.rpm#[查看包]依赖关系rpm2cpio file.rpm |cpio -div #[抽出文件]rpm -ivh file.rpm #[安装新的rpm]--install--verbose--hashrpm -ivhrpm -Uvh file.rpm #[升级一个rpm]--upgraderpm -e file.rpm #[删除一个rpm包]--erase常用参数:Install/Upgrade/Erase options:-i, --install install package(s)-v, --verbose provide more detailed output-h, --hash print hash marks as package installs (good with -v)-e, --erase erase (uninstall) package-U, --upgrade=<packagefile>+ upgrade package(s)--replacepkge 无论软件包是否已被安装,都强行安装软件包--test 安装测试,并不实际安装--nodeps 忽略软件包的依赖关系强行安装--force 忽略软件包及文件的冲突Query options (with -q or --query):-a, --all query/verify all packages-p, --package query/verify a package file-l, --list list files in package-d, --docfiles list all documentation files-f, --file query/verify package(s) owning fileRPM源代码包装安装.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:rpm--recompile vim-4.6-4.src.rpm #这个命令会把源代码解包并编译、安装它,如果用户使用命令:rpm--rebuild vim-4.6-4.src.rpm#在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。

RPM命令大全

RPM命令大全

Submit游客访问最新资讯更多>>论坛热点更多>>文档更新更多>>参数pkg1 ... pkgN :要删除的软件包详细选项--test 只执行删除的测试--noscripts 不运行预安装和后安装脚本程序--nodeps 不检查依赖性通用选项-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为三、升级命令格式rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm参数file1.rpm ... fileN.rpm 软件包的名字详细选项-h (or --hash) 安装时输出hash记号 (``#'')--oldpackage 允许"升级"到一个老版本--test 只进行升级测试--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--percent 以百分比的形式输出安装的进度。

--noscripts 不运行预安装和后安装脚本--prefix 将软件包安装到由指定的路径下--ignorearch 不校验软件包的结构--ignoreos 不检查软件包运行的操作系统--nodeps 不检查依赖性关系--ftpproxy 用作为 FTP代理--ftpport 指定FTP的端口号为通用选项-v 显示附加信息-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为四、查询rpm -q ( or --query) options参数:pkg1 ... pkgN :查询已安装的软件包详细选项-p (or ``-'') 查询软件包的文件-f 查询属于哪个软件包-a 查询所有安装的软件包--whatprovides 查询提供了功能的软件包-g 查询属于组的软件包--whatrequires 查询所有需要功能的软件包信息选项显示软件包的全部标识-i 显示软件包的概要信息-l 显示软件包中的文件列表-c 显示配置文件列表-d 显示文档文件列表-s 显示软件包中文件列表并显示每个文件的状态--scripts 显示安装、卸载、校验脚本--queryformat (or --qf) 以用户指定的方式显示查询信息--dump 显示每个文件的所有已校验信息--provides 显示软件包提供的功能--requires (or -R) 显示软件包所需的功能通用选项-v 显示附加信息-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为五、校验已安装的软件包命令格式:rpm -V ( or --verify, or -y) options参数pkg1 ... pkgN 将要校验的软件包名软件包选项-p Verify against package file-f 校验所属的软件包-a Verify 校验所有的软件包-g 校验所有属于组的软件包--noscripts 不运行校验脚本--nodeps 不校验依赖性--nofiles 不校验文件属性通用选项-v 显示附加信息-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为六、校验软件包中的文件语法:rpm -K ( or --checksig) options file1.rpm ... fileN.rpm参数:file1.rpm ... fileN.rpm 软件包的文件名Checksig--详细选项--nopgp 不校验PGP签名通用选项-v 显示附加信息-vv 显示调试信息--rcfile 设置rpmrc文件为七、其它RPM选项--rebuilddb 重建RPM资料库--initdb 创建一个新的RPM资料库--quiet 尽可能的减少输出--help 显示帮助文件--version 显示RPM的当前版本制作篇(上)要想制作一个RPM格式的软件包,需要编写软件包描述文件。

rpm --import用法

rpm --import用法

RPM是一种常见的Linux系统软件包管理工具,它可以用来安装、升级和删除软件包。

在使用RPM进行软件包管理时,有时候我们需要对软件包进行数字签名验证,以确保软件包的来源和完整性。

而在进行数字签名验证时,就会用到rpm --import命令。

下面我们就来详细介绍一下rpm --import的用法。

一、rpm --import命令的基本介绍rpm --import命令用于从某个文件导入一个或多个GPG密钥,以便对软件包进行数字签名验证。

当我们从网上下载软件包时,很多时候软件包会包含数字签名信息,而这些数字签名信息会用GPG密钥进行加密。

当我们使用rpm命令安装这些软件包时,系统会自动进行数字签名验证,以确保软件包的来源和完整性。

而在进行数字签名验证时,系统会用到相应的GPG密钥。

我们需要使用rpm --import命令将这些GPG密钥导入到系统中,以便系统能够正确地进行数字签名验证。

二、rpm --import命令的语法格式rpm --import的基本语法格式如下所示:rpm --import <file>其中,<file>表示要导入的GPG密钥文件的路径。

需要注意的是,<file>参数可以是单个文件,也可以是使用通配符匹配的多个文件。

三、rpm --import命令的具体用法1. 将单个GPG密钥文件导入到系统中如果我们只需要将单个GPG密钥文件导入到系统中,可以使用如下命令:rpm --import /path/to/keyfile其中,/path/to/keyfile表示要导入的GPG密钥文件的路径。

2. 将多个GPG密钥文件导入到系统中如果我们需要将多个GPG密钥文件导入到系统中,可以使用如下命令:rpm --import /path/to/keyfiles/*.asc其中,/path/to/keyfiles/*.asc表示要导入的GPG密钥文件所在的目录路径及其文件名,使用通配符匹配多个文件。

rpm 命令

rpm 命令

rpm 命令简介rpm命令是 Red Hat Package Manager 的缩写,它是一种用于在基于 RPM 的 Linux 发行版上安装、升级、查询和卸载软件包的工具。

RPM 软件包是一种预编译的二进制文件,其中包含了软件的可执行文件、库文件、配置文件和其他相关的元数据。

基本用法rpm命令的基本用法如下:rpm [选项] [操作] [软件包名]•选项:是可选的,用于指定一些特定的参数或行为。

•操作:指定要执行的操作,例如安装、升级、查询或卸载。

•软件包名:指定要操作的软件包的名称。

下面是一些常用的rpm命令操作:安装软件包rpm -i <软件包名>或rpm --install <软件包名>安装指定的软件包。

如果软件包已经安装,则会给出错误提示。

升级软件包rpm -U <软件包名>或rpm --upgrade <软件包名>升级指定的软件包。

如果软件包已经安装,则会将其升级到新版本。

如果软件包未安装,则会安装新版本的软件包。

查询软件包rpm -q <软件包名>或rpm --query <软件包名>查询指定软件包是否已安装。

如果软件包已安装,则会显示其版本信息。

如果软件包未安装,则会提示软件包未找到。

列出所有已安装的软件包rpm -qa或rpm --query -all列出系统上所有已安装的软件包。

卸载软件包rpm -e <软件包名>或rpm --erase <软件包名>卸载指定的软件包。

高级用法查看软件包信息rpm -qi <软件包名>或rpm --query --info <软件包名>查看指定软件包的详细信息,包括软件包名称、版本、发布日期、大小以及依赖关系等。

查询软件包提供的文件列表rpm -ql <软件包名>或rpm --query --list <软件包名>查询指定软件包提供的文件列表。

rpm软件包的名词解释

rpm软件包的名词解释

rpm软件包的名词解释引言:软件包管理系统在现代计算机系统中的作用越来越重要,特别是在Linux操作系统中。

其中,RPM(RPM Package Manager)是一种广泛使用的软件包管理系统,被许多Linux发行版所采用,如Red Hat、Fedora和CentOS等。

本文将对RPM软件包相关的名词进行解释,以帮助读者更好地理解RPM软件包的功能和用途。

一、RPM软件包RPM软件包是一种用于软件安装和管理的文件格式。

它包含了一个或多个软件的二进制文件、配置文件、文档和其他必要的资源。

通过安装RPM软件包,用户可以快速、简便地将软件部署到Linux系统中。

同时,RPM软件包还提供了清晰的依赖关系管理机制,使得软件的安装与升级更加可靠。

二、rpm命令rpm命令是在Linux系统中用于管理RPM软件包的主要命令行工具。

通过rpm命令,用户可以执行各种与RPM软件包相关的操作,如安装、卸载、查询和更新等。

下面是几个常用的rpm命令及其功能:1. 安装软件包:使用"rpm -i"命令安装一个或多个RPM软件包。

该命令会自动解析并满足软件包的依赖关系,保证软件包成功安装到系统中。

2. 卸载软件包:使用"rpm -e"命令卸载一个或多个已安装的RPM软件包。

该命令会删除软件包及其相关文件,并处理依赖关系以确保系统的稳定性。

3. 查询软件包:使用"rpm -q"命令查询系统中已安装的软件包。

该命令可以获取软件包的名称、版本、发布日期等详细信息。

4. 更新软件包:使用"rpm -U"命令更新一个或多个已安装的RPM软件包。

该命令会自动检测软件包的版本差异,进行升级操作。

5. 查询文件属于哪个软件包:使用"rpm -qf"命令查询指定文件属于哪个RPM软件包。

该命令可以帮助用户查找和修复文件冲突等问题。

6. 查询软件包提供的文件:使用"rpm -ql"命令查询指定软件包提供的文件列表。

rpm 参数

rpm 参数

rpm 参数
rpm 参数是 Red Hat Package Manager (RPM) 安装程序中使用的一种指令格式。


为用户提供了一种简单但有效的方法来安装、卸载、更新、校验、查找和构建 Linux 软
件包。

RPM 参数可提供精确控制安装程序的操作。

参数可以提供有关文件的特定信息,例如
具体的安装和卸载指令,要查找的文件的路径,或如果文件存在时需要采取的行动,甚至
可以在不安装任何文件的情况下仅检查其合法性。

RPM 参数包括:
–install:安装指定文件的 RPM 包。

–upgrade:更新指定文件的 RPM 包,可能会导致文件更改或校验错误,因此建议备份。

–query:列出存储在系统中的RPM 包的元数据,如版本、发行版、依赖性和供应商,以及关联的文件列表。

–verify:查看现有 RPM 包是否存在缺陷。

–V:校验系统上已安装的文件以确保其与 RPM 包中的文件相同。

–replacepkgs:用文件替换已安装的文件,不会影响其他文件。

–refresh:删除 rpm 包的缓存,使系统能够提供最新的包信息。

–rebuild:重新构建损坏的 rpm 包,以便其可以重新安装。

–nosignature:强制 rpm 安装程序不要检查下载的文件的数字签名是否正确。

使用这些参数可以更轻松地安装、更新或拆分 rpm 包,同时保证用户有足够的控制
来确保正确的行为。

rpm uvh原理

rpm uvh原理

rpm uvh原理
RPM(Red Hat Package Manager)是一种用于在Red Hat Linux系统上安装、升级、卸载和管理软件包的工具。

而uvh是rpm 命令的一些参数,它们分别代表着:
-u,表示升级已经安装的软件包。

-v,表示在执行命令的过程中显示详细的信息。

-h,表示在安装过程中显示进度条。

RPM软件包管理器是一个用于在Linux系统上管理软件包的工具,它可以帮助用户轻松地安装、升级和卸载软件包。

当使用rpm 命令时,参数uvh的组合可以实现对已安装软件包的升级,并在执行过程中显示详细信息和安装进度条。

这样用户可以清楚地了解软件包的安装情况,包括安装进度和可能出现的错误信息。

在使用rpm命令时,参数uvh的原理是通过-u参数实现软件包的升级,通过-v参数显示详细信息,包括安装的文件列表和进度信息,通过-h参数显示安装进度条,让用户清晰地了解软件包的安装
过程。

这些参数的组合可以帮助用户更好地管理软件包,确保安装过程的可视化和透明化。

总的来说,参数uvh的原理是在使用rpm命令时,结合升级、显示详细信息和显示安装进度条的功能,帮助用户更好地管理和了解软件包的安装过程。

这样用户可以更加方便地进行软件包的管理和维护,提高系统的稳定性和安全性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux rpm 命令参数使用详解[介绍和应用]RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。

二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。

源代码包经常以src.rpm作为后缀名。

常用命令组合:-ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update;-qpl:列出RPM软件包内的文件信息[Query Package list];-qpi:列出RPM软件包的描述信息[Query Package install package(s)];-qf:查找指定文件属于哪个RPM软件包[Query File];-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];-e:删除包rpm -q samba //查询程序是否安装rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路径安装并显示进度rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm//指定安装目录rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm //用来检查依赖关系;并不是真正的安装;rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降级为旧版本rpm -qa | grep httpd #[搜索指定rpm包是否安装]--all搜索*httpd*rpm -ql httpd #[搜索rpm包]--list所有文件安装目录rpm -qpi Linux-1.4-6.i368.rpm #[查看rpm包]--query--package--install package信息rpm -qpf Linux-1.4-6.i368.rpm #[查看rpm包]--filerpm -qpR file.rpm #[查看包]依赖关系rpm2cpio file.rpm |cpio -div #[抽出文件]rpm -ivh file.rpm #[安装新的rpm]--install--verbose--hashrpm -ivhrpm -Uvh file.rpm #[升级一个rpm]--upgraderpm -e file.rpm #[删除一个rpm包]--erase常用参数:Install/Upgrade/Erase options:-i, --install install pack age(s)-v, --verbose provide more detailed output-h, --hash print has h marks as package installs (good with -v)-e, --erase erase (uni nstall) package-U, --upgrade=<packagefile>+ upgrade package(s)--replacepkge 无论软件包是否已被安装,都强行安装软件包--test 安装测试,并不实际安装--nodeps 忽略软件包的依赖关系强行安装--force 忽略软件包及文件的冲突Query options (with -q or --query):-a, --all query/ver ify all packages-p, --package query/verify a package file-l, --list list file s in package-d, --docfiles list all documentation files-f, --file query/verify package(s) owning fileRPM源代码包装安装.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:rpm --recompile vim-4.6-4.src.rpm #这个命令会把源代码解包并编译、安装它,如果用户使用命令:rpm --rebuild vim-4.6-4.src.rpm #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。

偶不喜欢写比较复杂的东东,麻烦的话`不过做为参考`偶还素转了一位哒人的`写的真很全面`作者:北南南北来自:提要:RPM 是 Red Hat Package Manager 的缩写,原意是Red Hat 软件包管理;本文介绍RPM,并结合实例来解说RPM手工安装、查询等应用;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件;一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的, Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows原理是差不多的;软件安装流程图:本文使用范围:1、本文是对RPM管理的软件的说明,对通过file.tar.gz 或file.tar.bz2源码包用 make ;make install 安装的软件无效;2、安装软件时,最好用各自发行版所提供的系统软件包管理工具,对于Fedora/Redhat 您可以参考如下文章;1)Fedora 系统管理软件包工具 system-config-packages,方便的添加和移除系统安装盘提供的软件包,详情请看《Fedora 软件包管理器system-config-packages》2)Redhat 系统管理软件包工具,新一点的系统应该是redhat-config-packages ,用法和《Fedora 软件包管理器system-config-packages》一样;3)apt + synaptic 软件包在线安装、移除、升级工具;用法:《用apt+synaptic 在线安装或升级Fedora core 4.0 软件包》4)yum 软件包在线安装、升级、移除工具;用法:《Fedora/Redhat 在线安装更新软件包,yum 篇》5)所有的yum和apt 教程《apt and yum》目前 apt和yum 已经极为成熟了,建议我们安装软件时,采用 apt或者yum ;如果安装系统盘提供的软件包,可以用 system-config-packages 或redhat-config-packages ;一、RPM包管理的用途;1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;3、可以在查询系统中的软件包是否安装以及其版本;4、作为开发者可以把自己的程序打包为RPM 包发布;5、软件包签名GPG和MD5的导入、验证和签名发布6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;二、RPM 的使用权限;RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;三、rpm 的一点简单用法;我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时我们在一些网站上找到file.rpm ,都要用 rpm 来安装;一)初始化rpm 数据库;通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库;[root@localhostbeinan]# rpm --initdb[root@localhostbeinan]# rpm --rebuilddb注:这个要花好长时间;注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;二)RPM软件包管理的查询功能:命令格式rpm {-q|--query} [select-options] [query-options]RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm1、对系统中已安装软件的查询;1)查询系统已安装的软件;语法:rpm -q 软件名举例:[root@localhostbeinan]# rpm -q gaimgaim-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 |grepgaim上面这条的功能和 rpm -q gaim 输出的结果是一样的;2)查询一个已经安装的文件属于哪个软件包;语法rpm -qf文件名注:文件名所在的绝对路径要指出举例:[root@localhost RPMS]# rpm -qf /usr/lib/libacl-devel-2.2.23-83)查询已安装软件包都安装到何处;语法:rpm -ql软件名或rpm rpmquery -ql软件名举例:[root@localhost RPMS]# rpm -ql lynx[root@localhost RPMS]# rpmquery -ql lynx4)查询一个已安装软件包的信息语法格式:rpm -qi 软件名举例:[root@localhost RPMS]# rpm -qi lynx5)查看一下已安装软件的配置文件;语法格式:rpm -qc 软件名举例:[root@localhost RPMS]# rpm -qc lynx6)查看一个已经安装软件的文档安装位置:语法格式:rpm -qd软件名举例:[root@localhost RPMS]# rpm -qd lynx7)查看一下已安装软件所依赖的软件包及文件;语法格式:rpm -qR软件名举例:[root@localhostbeinan]# rpm -qR rpm-python查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如:[root@localhost RPMS]# rpm -qil lynx2、对于未安装的软件包的查看:查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等;1)查看一个软件包的用途、版本等信息;语法:rpm -qpifile.rpm举例:[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm2)查看一件软件包所包含的文件;语法:rpm -qplfile.rpm举例:[root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm3)查看软件包的文档所在的位置;语法:rpm -qpdfile.rpm举例:[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm5)查看一个软件包的配置文件;语法:rpm -qpcfile.rpm举例:[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm4)查看一个软件包的依赖关系语法:rpm -qpRfile.rpm举例:[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm/bin/bash/usr/bin/pythonconfig(yumex) = 0.42-3.0.fc4pygtk2pygtk2-libgladerpmlib(CompressedFileNames) <= 3.0.4-1rpmlib(PayloadFilesHavePrefix) <= 4.0-1usermodeyum >= 2.3.2三)软件包的安装、升级、删除等;1、安装和升级一个rpm 包;[root@localhostbeinan]#rpm -vihfile.rpm注:这个是用来安装一个新的rpm 包;[root@localhostbeinan]#rpm -Uvhfile.rpm注:这是用来升级一个rpm 包;如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;语法结构:[root@localhostbeinan]# rpm -ivhfile.rpm --nodeps --force[root@localhostbeinan]# rpm -Uvhfile.rpm --nodeps --force更多的参数,请查看 man rpm举例应用:[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpmPreparing... ########################################### [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 -qagaimgaim-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 -qagaimgaim-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 --badreloclynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%]我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用 ln -s ;[root@localhost RPMS]# /opt/lynx/usr/bin/lynxConfiguration 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 2、删除一个rpm 包;首先您要学会查询rpm 包;请看前面的说明;[root@localhostbeinan]#rpm -e 软件包名举例:我想移除lynx 包,完整的操作应该是:[root@localhost RPMS]# rpm -e lynx如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。

相关文档
最新文档