【Linux】rpm命令管理

合集下载

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

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

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

我们以安装apache 程序为例。

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

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

是测试页,如图 2 所示。

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

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

linux中rpm -qc的用法

linux中rpm -qc的用法

linux中rpm -qc的用法Linux中的RPM (Red Hat Package Manager) 是一种用于软件包管理的工具,它允许用户在各种Linux发行版中安装、更新和删除软件包,以及管理软件包的依赖关系。

其中,rpm qc是RPM工具中的一个参数,它用于检查软件包的完整性和一致性。

在本文中,我们将一步一步地详细介绍rpm qc的用法和功能。

首先,让我们了解一下RPM和软件包的概念。

在Linux中,软件包是一种通过打包源代码或二进制文件而形成的文件,它包含了特定软件的相关文件、库以及其他所需的资源。

RPM是一种在Red Hat系列Linux系统中被广泛使用的软件包管理工具,它的主要功能是方便用户安装、升级和删除软件包,并处理软件包之间的依赖关系。

RPM具有丰富的命令行选项和参数,其中包括qc参数。

qc是query checksums(查询校验和)的缩写,它用于检查软件包的完整性和一致性。

具体来说,qc参数可以用于验证软件包的校验和,以确保软件包在传输过程中没有被修改或损坏。

使用rpm qc参数可以很容易地检查软件包的校验和。

下面是一些使用rpm qc的实例:1. 检查单个软件包的校验和:rpm -qc <软件包名称>在上述命令中,\<软件包名称>表示要检查的软件包的名称。

这个命令将输出软件包中包含的文件的完整路径,以及对应文件的校验和。

通过验证这些校验和,可以确保软件包的完整性。

2. 检查多个软件包的校验和:rpm -qc <软件包名称1> <软件包名称2> ...在上述命令中,\<软件包名称1>、\<软件包名称2>等表示要检查的多个软件包的名称。

可以通过在命令中指定多个软件包的名称,一次性检查它们的校验和。

3. 检查整个系统中所有安装的软件包的校验和:rpm -qa qf '{NAME}\n' xargs rpm -qc在上述命令中,'rpm -qa'用于列出整个系统中安装的所有软件包的名称,'qf'选项以指定的格式输出软件包名称,' xargs rpm -qc'将软件包名称作为输入传递给rpm -qc命令,从而检查所有软件包的校验和。

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命令常用参数在Linux系统中,RPM(RPM Package Manager)是一种软件包管理工具,它可以用来安装、升级、卸载软件包。

RPM包具有可移植性、可重用性和易于管理的特点,因此在Linux系统中广泛使用。

在使用RPM命令时,有许多参数可以使用,本文将介绍常用的参数。

1. -i(install)-i参数用于安装一个RPM包,通过指定包的名称或文件名,可以将其安装到系统中。

例如,要安装名为example.rpm的软件包,可以使用以下命令:rpm -i example.rpm2. -U(update)-U参数用于升级一个已安装的RPM包。

与-i参数类似,可以通过指定包的名称或文件名来升级它。

例如,要升级名为example.rpm 的软件包,可以使用以下命令:rpm -U example.rpm3. -e(erase)-e参数用于卸载一个已安装的RPM包。

与-i和-U参数类似,可以通过指定包的名称或文件名来卸载它。

例如,要卸载名为example.rpm的软件包,可以使用以下命令:rpm -e example.rpm4. -qa(query all)-qa参数用于列出系统中安装的所有RPM包。

例如,要列出系统中安装的所有RPM包,可以使用以下命令:rpm -qa5. -qf(query file)-qf参数用于查询一个文件属于哪个RPM包。

例如,要查询文件/usr/bin/ls属于哪个RPM包,可以使用以下命令:rpm -qf /usr/bin/ls6. -qi(query information)-qi参数用于查询一个RPM包的详细信息,包括版本、发布日期、安装日期等。

例如,要查询名为example.rpm的软件包的详细信息,可以使用以下命令:rpm -qi example.rpm7. -qR(query requirements)-qR参数用于查询一个RPM包所依赖的其他软件包。

例如,要查询名为example.rpm的软件包所依赖的其他软件包,可以使用以下命令:rpm -qR example.rpm8. -ql(query list)-ql参数用于列出一个已安装的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权限运行。

Linux2 RPM包管理

Linux2  RPM包管理

Linux2 RPM包管理RPM包发布的时候都有特定的命名方式,一般是由软件名称、版本号、发布版本号,运行的体系结构和类型后缀组成,他们之间使用“-”分隔。

下面以gzip软件的RPM安装包文件gzip-1.3.5-6.i386.rpm为例说明各部分的含义。

●“gzip”是软件的名称●“1.3.5”是软件的版本号版本号的格式通常为“主版本号.次版本号.修正号”。

主版本号和次版本号在项目计划中便已经指定,标志重要的功能变动。

修正号表示小的功能变更或用来管理项目的分支。

●“6”是发布版本号。

表示编译的次数,同样一个版本源程序,如果编译过程中使用了不同的参数,会有不同的行为。

发布版本号就是表示这个RPM包是第几次生成的,每次编译可以使用不同的参数。

●“i386”是RPM包软件能在什么样的体系结构运行。

现在,RPM支持的体系结构有Intelx86(i386,i586,i686),Sun RISC SPARC(spa rc)和alpha。

Intelx86体系结构的i386表示这个软件在Intel 80386以上的计算机上运行;i586直这个软件包能在Intel Pentium以上的计算机运行;i686表示这个软件包在Intel Pentium II 以上的计算机运行。

有于i686这个软件包软件通常针对CPU 进行了优化,所以最好还是使用i686这个软件包。

需要注意的还有一种noarch的R PM包,表示这个软件包于体系结构无关,可一在不同的CPU中使用。

可以查看文件/proc/cpuinfo来判断当前体系结构。

●“rpm”是RPM包类型的后缀RPM包有rpm和src.rpm两种类型后缀。

“rpm”类型后缀是将软件编译后打包成二进制文件的格式。

“src.rpm”类型后缀是源程序RPM包类型(srpm)的后缀,不能直接安装运行,需要安装时进行本地编译。

在系统中并不是所有的软件都能独立运行的,可能软件运行中需要使用其他的软件提供相应的功能,这样各个软件就构成了互相依赖的关系,使的软件的安装,卸载和升级变得非常复杂。

linux程序包管理之rpm

linux程序的源码编译安装方式毕竟比较繁琐,安装后也不易管理,为此linux 官方提供了专门的程序包管理器来解决这些问题一、程序包管理器程序包管理器:将源程序编译并打包成一个或有限的几个文件,可用于实现安装、查询、升级、卸载等功能程序包管理器的管理实现:①数据库,用于记录:程序名及版本程序之间的依赖关系功能性说明安装生成的各文件路径及校验码②程序的组成清单:文件清单安装卸载时运行的脚本常用程序包管理器:Redhat:rpm(redhat package manager),其对应的程序包后缀为.rpm,对应的前端工具为yumDebian:dpkg,其对应的程序包后缀为.deb,对应的前端工具为apt-getrpm包的制作需要rpmbuild工具,其制作过程这里不作说明,以下详解一下rpm包的管理二、rpm程序包2.1、rpm包命名格式:name-version-release.arch.rpm,如httpd-2.2.15-45.el6.centos.x86_64.rpmversion:major.minor.release,同源码release:rpm自身发行号,与源码的发行号无关,仅用于标识对rpm包不同制作的修订,同时release还包含此包适用的OSarch:适用的硬件平台x86: i386, i486, i586, i686等x86_64: x86_64powerpc: ppcnoarch: 依赖于虚拟机2.2、rpm分包机制一个程序体积可能很大,为了方便管理,rpm包管理器依据功能性差异,将一个程序打包成若干个包主包(核心包):其name与源程序一致,如httpd-2.2.15-45.el6.centos.x86_64.rpm子包:httpd-devel-2.2.15-45.el6.centos.x86_64.rpmhttpd-tools-2.2.15-45.el6.centos.x86_64.rpm区别:程序x依赖于y和z,若x是基于rpm包安装,则x依赖的是y和z的核心包;若x基于源码编译安装,则x依赖的是y和z的开发包2.3、获取rpm包的途径①官方发行的光盘、官方站点、镜像站点②项目的官网:源代码、rpm包③第三方机构或个人制作并公开发布许多rpm包④额外程序包的可靠途径:EPEL,为Federa所维护2.4、rpm包的合法性验证rpm包的合法性包括来源合法性和包的完整性两个方面包的制作者使用单向加密算法提取出原始数据的特征码,并使用自己的私钥加密这段特征码,附加在原始数据之后验证过程:前提:必须有可靠机制获取到包制作者的公钥①使用包制作者的公钥解密那段加密的特征码,能解密则说明来源合法②使用与制作者同样的单向加密算法提取数据的特征码,并与解密得到的特征码比对,相同则说明包完整性没问题2.5、rpm 包管理器的使用㈠验证程序包的合法性我们在安装rpm 程序包之前,一般要检验其合法性,尤其是从非官方或非权威站点获得的包。

RPM命令参数

RPM命令参数RPM(Red Hat Package Manager)命令是在Linux系统中常用的软件包管理工具之一、RPM命令允许用户安装、卸载、查询和更新软件包,并提供了一系列参数来执行不同的操作。

以下是RPM命令中一些常用的参数的详细说明:1. General RPM Options(通用的RPM选项):- -v, --verbose: 显示更多的详细信息,如进度条、错误消息等。

- --quiet: 在执行命令时不显示任何输出。

- -h, --hash: 在显示RPM包安装、卸载或更新过程中显示进度的哈希标记。

- --version: 显示RPM命令的版本信息。

- --help: 显示RPM命令的帮助信息。

2. Package Query Options(软件包查询选项):- -q, --query: 查询已经安装的软件包。

- -i, --info: 显示软件包的详细信息,如名称、版本、文件列表等。

- -R, --requires: 显示软件包的依赖关系。

- -p, --package: 查询尚未安装的RPM软件包。

- -f, --file: 查询包含指定文件的软件包。

- --scripts: 显示软件包的脚本信息。

3. Package Installation Options(软件包安装选项):- -i, --install: 安装指定的RPM软件包。

- -U, --upgrade: 升级已经安装的软件包。

- -F, --freshen: 根据需要更新已经安装的软件包。

- --nodeps: 忽略软件包的依赖关系。

- --force: 强制安装软件包,即使已经存在相同名称的软件包。

- --test: 模拟软件包的安装过程,不实际执行任何操作。

4. Package Removal Options(软件包卸载选项):- -e, --erase: 卸载指定的RPM软件包。

- --nodeps: 忽略软件包的依赖关系。

【Linux】CentOS7上rpm命令批量卸载删除模糊rpm包名

【Linux】CentOS7上rpm命令批量卸载删除模糊rpm包名例如,我要删除如下⽂件名匹配上wine的所有⽂件如果单独rpm删除卸载⼀个rpm包的话,命令如下:rpm -evh --nodeps wine-common-1.8.6-1.el7.noarch-e 卸载-vh 合在⼀起使⽤,展⽰详细信息和进度条--nodeps 不⽤查找其他依赖,直接卸载这个wine-common-1.8.6-1.el7.noarch ⽂件名,从上⾯复制下来的但是,上⾯这个wine打头的⽂件实在是很多,不想⼀个⼀个卸载,怎么办了?1.⾸先vim命令新建并打开⼀个⽂件,vim uninstall粘贴如下⽂本:进⼊之后,键盘i进⼊编辑模式,粘贴下⾯的话#!/bin/bash################################################################## function: batch uninstall rpm packages# setup:# 1. copy the scripts and save as a file, such as: ex.sh# 2. switch to root user. su - root# 3. change the file's permission: chmod +x ex.sh# 3. running the script with no parameter: ./ex.sh# runing:# uninstall [rpm package name]# author: Topurce Zhou (topurce#at#)#################################################################if [ "$UID" -ne 0 ]thenecho -e 'must be \E[34m\033[1mroot\033[0m to run this script.'echo -ne '\E[0m'exit 67fiif [ ! -f /usr/bin/uninstall ]thenecho "building file..."scripts="$(cat $0)"declare -i index=1cat $0 | while read linedoif (( index == 19 ))thenecho 'echo -e "must be \E[34m\033[1mroot\033[0m to run this script."'>>/usr/bin/uninstallecho 'echo -ne "\E[0m"'>>/usr/bin/uninstallelif (( index == 23 ))thenecho 'stips="searching packages for \"$1\":"'>>/usr/bin/uninstallecho 'usage="usage: $0 \"package name\""'>>/usr/bin/uninstallelif (( index != 19 && index != 20 && (index<23 || index>52) ))thenecho $line>>/usr/bin/uninstallfiindex+=1;donechmod +x /usr/bin/uninstallecho "try \"uninstall [package name]\" again."exitfistips="searching packages for \"$1\":"usage="usage: $0 \"rpm package name\""if [ $# -eq 0 ]thenecho "$0: no rpm packages given for uninstall."echo $usageelif [ $# -gt 1 ]thenecho $usageelseecho $stipsrpms="$(rpm -qa | grep $1)"declare -i count=0for rpmk in $rpmsdocount+=1echo "package: $rpmk"doneif (( count == 0 ))thenecho "no packages"exitfiecho "packages: $count"echoread -p "are you sure you want to uninstall all above packages?(y/n)"if [[ $REPLY == [Yy] ]]thenecho "starting to uninstall packages..."for rpmk in $rpmsdocount+=1echo "uninstalling package: $rpmk"rpm -e --nodeps $rpmkif [ $? -eq 0 ]thenecho "done"elseecho "faild to uninstall $rpmk"fidonefifiView Code记住,最后⼀⾏不⽤给回车或者换⾏。

linux操作系统中rpm命令参数的使用详解

Linux操作系统中RPM命令参数的使用详解在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。

此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。

由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。

下面就给大家介绍一下它的具体使用方法。

[root@ford /root] # rpm -qa | more1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:rpm -qpi Linux-1.4-6.i368.rpm系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:rpm -qpl Linux-1.4-6.i368.rpm3.选择安装方式后,开始安装。

我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。

在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。

5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。

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

【Linux】rpm命令管理
包全名:操作的包是没有安装的软件包时,使用包全名。

并且要注意路径
包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库
RPM安装:
-i(install) 安装; -v(verbose)详细信息; -h(hash)进度;在正式环境中,安装时必须检测依赖性,否则即使安装成功也无法正常使用。

因此,选项【--nodeps】不能加。

linux就两种软件包,一个是源码包,一个是rpm包,没有yum软件包。

yum安装的就是rpm包。

yum其实就是rpm包的在线安装方法。

虽然,yum可以安装和卸载,但是不能对rpm包进行查询和校验。

查询和校验的话,还是要用rpm命令的。

rpm包校验
修改处
校验提示
【实例演示】
移动后ls命令
不能执行
提取rpm包中的ls命令到
当前目录的/bin/ls
把ls命令复制到/bin下,修复文件丢失。

相关文档
最新文档