RPM软件包管理工具rpm命令是RPM软件包的管理工具。rpm最初是RedHatLinux发行版用来管理各种Linux软件包的程序。它非常受欢迎,因为它遵循GPL规则并且具有强大和方便的功能。逐渐被其他发行版采用。RPM包管理方式的出现,使得Linux易于安装和升级,间接提高了Linux的适用性。命令语法rpm[选项][参数]命令选项--a:查询所有包;--b+or-t+:设置打包包的完成阶段,并指定打包文件的文件名;--c:只列出configuration配置文件,该参数需要与“-l”参数一起使用;--d:只列出文本文件,该参数需要与“-l”参数一起使用;--e<包文件>或--erase<包文件>:删除指定包;--f<文件>+:查询指定文件的包;--h或--hash:安装包时列出标志;--i:显示包的相关信息;--i或--install:安装指定的包文件;--l:显示包的文件列表;--p<包文件>+:查询指定RPM包文件;--q:使用查询方式,遇到任何问题,rpm命令会先询问用户;--R:显示包的关联信息;--s:显示文件状态,该参数需要与“-l”参数一起使用;--U或--upgrade:升级指定的包文件;--v:显示命令的执行过程;--vv:detailed显示指令的执行过程,方便故障排除。命令参数package:指定要操作的rpm包。如何安装rpm包rpm包的安装可以使用程序rpm来完成。执行以下命令:>rpm-ivhrumenz.rpm其中rumenz.rpm是你要安装的rpm包的文件名,一般放在当前目录下。安装过程中可能会出现以下警告或提示:...conflictwith...可能是要安装的包中有一些文件可能会覆盖已有的文件。默认情况下,在这种情况下无法正确安装。使用rpm--force-i强制安装...isneededby......isnotinstalled...这个包需要的一些软件没有安装,可以使用rpm--nodeps-i忽略这个信息,也就是说rpm-i--force--nodeps可以忽略所有的依赖关系和文件问题,可以安装任何包,但是这种强制安装包并不能保证完整的功能。如何安装.src.rpm包一些包以.src.rpm结尾。这些包是rpm包,包含需要编译安装的源代码。此类软件包有两种安装方法:方法一:rpm-iyour-package.src.rpmcd/usr/src/redhat/SPECSrpmbuild-bpyour-package.specscd/usr/src/redhat/BUILD/your-package/./configuremakemakeinstall方法二:rpm-iyou-package.src.rpmcd/usr/src/redhat/SPECS前两步同方法一rpmbuild-bbyour-package.specs现在在/usr/src/redhat/RPM/i386/(根据具体的包,可能是i686、noarch等)在这个目录下,有一个新的rpm包,是一个编译好的二进制文件。执行rpm-inew-package.rpm完成安装。如何卸载rpm包使用命令rpm-e包名,包名可以包含版本号等信息,但不能有后缀。rpm,以卸载proftpd-1.2.8-1包为例,可以使用如下格式:rpm-eproftpd-1.2.8-1rpm-eproftpd-1.2.8rpm-eproftpd-rpm-eproftpdcannot格式如下:rpm-eproftpd-1.2.8-1.i386.rpmrpm-eproftpd-1.2.8-1.i386rpm-eproftpd-1.2rpm-eproftpd-1有时会出现一些错误或警告:...isneededby...意思是这个软件是其他软件需要的,不能随便卸载。可以使用rpm-e--nodeps强制卸载如何不安装而是获取rpm包中的文件使用工具rpm2cpio和cpiorpm2cpioxxx.rpm|cpio-virpm2cpioxxx.rpm|cpio-idmvrpm2cpioxxx.rpm|cpio--extract--make-directories参数i和extract一样,意思是提取文件。v表示表示执行过程,d与make-directory相同,表示按照包中文件的原路径创建目录,m表示保持文件的更新时间。如何查看与rpm包相关的文件和其他信息下面的所有示例都假定包mysql-3.23.54a-111,我的系统上安装了这些rpm包。rpm-qa会列出所有已安装的包如果你想找到所有包含某个字符串的已安装包sqlrpm-qa|grepsql2,如何获取某个包的完整文件名。rpm-qmysql可以得到系统安装的mysql包的全名,从中可以得到当前包的版本等信息。本例中可以得到mysql-3.23.54a-113的信息,rpm包中的文件安装在哪里?rpm-ql包名注意这里是包名,不包含.rpm后缀,也就是说只能用mysql或者mysql-3.23.54a-11,不能用mysql-3.23.54a-11.rpm。如果只是想知道可执行程序放在哪里,也可以用which,例如:whichmysql4,一个rpm包里就有那些文件。没有安装的软件包,使用rpm-qlp****.rpm已经安装的软件包,也可以使用rpm-ql****.rpm5,如何获取版本和软件包的用途等相关信息?对于没有安装的包,使用rpm-qip****.rpm对于已经安装的包,也可以使用rpm-qi****.rpm6,某个程序安装在哪个包,或者哪个包包含这个程序。rpm-qf`哪个程序名`rpm-qif`哪个程序名`rpm-qlf`哪个程序名`注意这里不是引号,而是键盘左上角的那个键。您还可以使用rpm-qilf`,它会同时输出包信息和文件列表。7.哪个软件包安装了某个文件,或者哪个软件包包含这个文件。注意,上一题的方法只适用于可执行程序,而下面的方法不仅可以用于可执行程序,也可以用于任何普通文件。前提是知道文件名。首先获取这个程序的完整路径,可以使用whereis或者which,然后使用rpm-qf例如:whereisftptopftptop:/usr/bin/ftptop/usr/share/man/man1/ftptop.1.gzrpm-qf/usr/bin/ftptopproftpd-1.2.8-1rpm-qf/usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txtproftpd-1.2.8-1其他知识yum:解决rpm依赖库依赖问题:http://rpmfind.net/sourcepackage->compile->binarypackage(rpmpackage/systemdefaultpackage)rpm命名规则:software(软件名称,软件版本)+system(os版本,os位数)rpmchecksum:SM5DLUGT->sizemodified(type/permission)md5deviceL(filepath)usergrouptime(modifiedtime)原文链接:https://rumenz.com/rumenbiji/...WeChat公众号:GettingStarted