【Linux】rpm命令管理
- 格式:docx
- 大小:2.49 MB
- 文档页数:7
LinuxRPM包安装、卸载和升级(rpm命令)详解
本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装、卸载和升级操作。
我们以安装apache 程序为例。
因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。
RPM包默认安装路径
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。
是测试页,如图 2 所示。
图 2 apache测试页
-e 选项表示卸载,也就是 erase 的首字母。
RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。
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命令的详细解释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命令常用参数在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是一个软件包管理工具,用于在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包管理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程序的源码编译安装方式毕竟比较繁琐,安装后也不易管理,为此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(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包名例如,我要删除如下⽂件名匹配上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操作系统中,有一个系统软件包,它的功能类似于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站点直接在线安装软件。
Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理在Linux系统下,对于软件包的管理有多种机制,有源代码方式、RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制一、源代码形式首先我们先来看一下源代码的方式。
我们知道,在开源的环境下,大多数的开源软件都是以源代码的形式来发布,通常将源代码打包成tar.gz的归档压缩文件发布到网上供我们下载使用。
但是我们下载下来的源代码方式我们还不能够直接使用,不像在windows系统上直接下载下来可执行的二进制文件,我们需要将下载好的源码编译成可执行的二进制文件才能运行使用,源代码形式安装流程一般如下:①./configure检查编译环境、相关库文件以及配置参数并生成makefile②make将源代码编译成可执行的二进制文件③make install安装编译好的可执行文件基本上所有以源代码形式发布的软件都是按照以上流程来进行安装,大家可能觉得其实步骤就这三个,安装过程非常简单!其实不然,通常以源代码形式发布的软件,在对其进行①、②步操作时往往会出很多很多的问题,比如说编译过程中缺少所需的库文件,或者说编译源码时又需要依赖A文件,编译A文件时可能又需要用到B文件,这样我们需要花大量时间去找这些依赖的问题,同时如果一个软件特别大的话,我们在将其编译过程中要等待非常久的时间。
所以说其实源代码形式的安装软件并不是我们想象的那么简单,但是为什么源代码形式的软件管理还一直存在呢?必然也有其优点,因为我们的源码都要通过编译成可执行的二进制文件才行,所以说它适用于各种操作系统平台,我只需要在各个操作系统平台上对其源码进行编译即可运行起来了。
总结一下:源代码形式的缺点:操作复杂、编译时间长、极易出现错误源代码形式的优点:适用于所有的操作系统、可定制二、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是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软件包。
linux中rpm的用法
在Linux系统中,RPM(Red Hat Package Manager)是一种软件包管理工具,用于安装、升级、查询和删除软件包。
下面是一些常用的RPM命令和用法:
1. 安装一个RPM包:
rpm -i package.rpm
例如:rpm -i package.rpm
2. 升级一个已安装的软件包:
rpm -U package.rpm
例如:rpm -U package.rpm
3. 查询已安装的软件包:
rpm -q package_name
例如:rpm -q nginx
4. 列出已安装的所有软件包:
rpm -qa
例如:rpm -qa
5. 查询软件包的详细信息:
rpm -qi package_name
例如:rpm -qi nginx
6. 查询一个文件属于哪个软件包:
rpm -qf file_path
例如:rpm -qf /etc/nginx/nginx.conf
7. 删除一个已安装的软件包:
rpm -e package_name
例如:rpm -e nginx
8. 查询软件包的依赖关系:
rpm -qR package_name
例如:rpm -qR nginx
这些命令可以帮助你在Linux系统中使用RPM进行软件包的管理和操作。
如果需要更详细的信息,你可以通过man rpm 命令查阅RPM的手册页。
解压rpm包的linux命令及rpm命令使⽤简介rpm 是红帽(RedHat)软件包管理⼯具,实现类似于 Windows 中的添加/删除程序功能rpm -ivh install_rpmtar xvf informix-linux.tarinux下解压命令⼤全.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName———————————————.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩: bzip2 -z FileName.tar.bz2解压:tar jxvf FileName.tar.bz2压缩:tar jcvf FileName.tar.bz2 DirName———————————————.bz解压1:bzip2 -d FileName.bz解压2:bunzip2 FileName.bz压缩:未知.tar.bz解压:tar jxvf FileName.tar.bz压缩:未知———————————————.Z解压:uncompress FileName.Z压缩:compress FileName.tar.Z解压:tar Zxvf FileName.tar.Z压缩:tar Zcvf FileName.tar.Z DirName———————————————.zip解压:unzip FileName.zip压缩:zip FileName.zip DirName———————————————.rar解压:rar x FileName.rar压缩:rar a FileName.rar DirName———————————————.lha解压:lha -e FileName.lha压缩:lha -a FileName.lha FileName———————————————.rpm解包:rpm2cpio FileName.rpm | cpio -div———————————————.deb解包:ar p FileName.deb data.tar.gz | tar zxf -———————————————.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt.pit .sit .sea解压:sEx x FileName.*压缩:sEx a FileName.* FileNamesEx只是调⽤相关程序,本⾝并⽆压缩、解压功能,请注意!gzip 命令减少⽂件⼤⼩有两个明显的好处,⼀是可以减少存储空间,⼆是通过⽹络传输⽂件时,可以减少传输的时间。
《[什么是RPM命令] linux c是什么命令》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.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.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.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[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [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 删除一个rpm 包;[root@localhost beinan]#rpm -e 软件包名举例:我想移除lynx 包,完整的操作应该是:[root@localhost RPMS]# rpm -e lynx如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。
linux下RPM⼯具的使⽤:RPM安装查询查看卸载升级软件包⽬录⼀.关于软件包在linux中安装软件是需要安装包的,软件的安装包有各种类型:.zip,.rar,.rpm,.tar.gz,.tar。
软件包还可以分为源代码包和⼆进制包,源代码包是没有经过编译的包,需要经过GCC、C++编译器环境编译才能运⾏。
⼆进制包⽆需编译,可以直接安装使⽤。
区分是否为源代码包还是⼆进制包还得基于软件包⾥⾯的⽂件来判断,包含.h、.c、.cpp、.cc等结尾的源码⽂件,称之为源代码包,⽽软件包⾥⾯存在bin⽬录(bin⽬录⾥有可执⾏⽂件),称之为⼆进制包。
源码包⾼度可定制,可以⾃由选择⾃⼰需要的功能。
⼆.RPM软件包RPM是RPM Package Manager(RPM软件包管理器)的缩写,这⼀⽂件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE以及Turbo Linux等Linux的分发版本都有采⽤,可以算是公认的⾏业标准了。
RPM包是⼆进制包可以直接使⽤。
三.RPM包通⽤的命名规则RPM包的⼀般命名规则为:name-version-arch.rpm或者name-version-arch.src.rpm。
name就是软件包的名称version是软件的版本号,版本号的格式通常为“主版本号.次版本号.修正号”,也有发布版本号,表⽰这个RPM包是第⼏次编译⽣成的arch表⽰软件包适⽤的硬件平台,⽬前RPM⽀持的平台有:i386,i586,i686、sparc,alpha,x86_64等等.rpm或.src.rpm,是RPM包类型的后缀,.rpm是编译好的⼆进制包,可⽤rpm命令直接安装;.src.rpm表⽰是源代码包,需要编译之后才可以使⽤el* 表⽰这个软件包的发⾏商版本,el7表⽰这个软件包是在RHEL 7.x/CentOS 7.x下使⽤devel:表⽰这个RPM包是软件的开发包noarch:说明这样的软件包可以在任何平台上安装,不需要特定的硬件平台。
rpm包用法RPM包用法是一种在Linux系统上管理软件、文件和配置的标准化方式。
RPM(Red Hat Package Manager)是一种常见的软件包管理工具,被广泛应用于多个Linux发行版,包括Red Hat、CentOS等。
使用RPM包可以方便地安装、更新、卸载软件,同时也可以管理系统配置文件和其他相关文件。
下面将介绍一些RPM包的基本用法。
1. 安装RPM包:要安装一个RPM包,可以使用以下命令:```shellrpm -ivh package.rpm```其中,`package.rpm`是要安装的RPM包的文件名。
该命令将会将软件包及其相关文件安装到系统中。
2. 更新RPM包:如果需要更新已安装的RPM包,可以使用下面的命令:```shellrpm -Uvh package.rpm```这将会更新已安装的软件包到新版本,并解决旧版本的依赖关系。
3. 查询已安装的RPM包:要查看系统中已安装的RPM包列表,可以使用以下命令:```shellrpm -qa```这将列出所有已安装的软件包及其版本信息。
4. 卸载RPM包:如果不再需要某个RPM包,可以使用以下命令将其卸载:```shellrpm -e package```其中,`package`是要卸载的软件包的名称。
除了上述常用的基本用法外,RPM包还支持其他高级功能。
例如,在安装RPM包时,可以指定`--nodeps`选项来忽略依赖关系检查;使用`--force`选项可以强制安装一个RPM包,即使系统中存在较新的版本。
总而言之,RPM包是一种非常有用的工具,可以帮助我们在Linux系统上管理软件、文件和配置。
通过掌握基本的RPM包用法,我们可以更有效地管理系统,确保软件的安装、更新和卸载过程顺利进行。
rpm包命令规则
RPM(RedHat Package Manager)包是在Linux系统中广泛使用的一种软件包格式。
以下是rpm包命令的规则:
- RPM 二进制包命名的一般格式如下:
- 包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名
- 例如:tree-1.6.0-10.el7.x86_64.rpm,tree 是软件名,1.6.0 是版本号,-10 是发行次数,el7 是软件发行商,x86_64 是适合的硬件平台,rpm 是包扩展名。
- RPM 命令只能安装已经下载到本地机器上的 RPM 包。
- YUM 可以在线下载并安装 RPM 包,能更新系统,且还能自动处理包与包之间的依赖问题,这是 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 <软件包名>查询指定软件包提供的文件列表。
【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下,修复文件丢失。