rpm套件管理员,简称rpm,全称为The RPM Package Manager。是在Linux下广泛使用的软件包管理器。rpm此名词可能是指.rpm的档案格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager)。最早由Red Hat研制,现在也由开源社区开发。rpm通常随附于Linux发行版,但也有单独将rpm作为应用软件发行的发行版(例如Gentoo)。rpm仅适用于安装用rpm来打包的软件,目前是GNU/Linux下软件包资源最丰富的软件包类型之一。rpm软件包分为二进制包(Binary)、源代码包(Source)和Delta包三种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。本教程主要介绍二进制rpm包的安装与管理。
另外,使用rpm安装和移除rpm包时,需要有超级用户权限,可以使用root用户操作,也可以使用sudo来操作。如果使用sudo时,当前用户必须是管理员。
安装一个rpm软件包可以使用-i参数:
rpm -i flash-plugin-11.2.202.332-release.x86_64.rpm
可以使用-ivh来查看rpm软件包的安装进度:
rpm -ivh flash-plugin-11.2.202.332-release.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:flash-plugin-11.2.202.332-release ################################# [100%] NOTICE: Files belonging to older Flash plugins have been removed from the filesystem. For your safety these files have been saved in /root/oldflashplugins.tar.gz. You may remove this tarball if these files are no longer required.
想要移除一个已经安装的rpm软件包可以使用-e参数:
rpm -e flash-plugin-11.2.202.332-release.x86_64
可以使用-evh来查看rpm软件包的移除进度:
rpm -evh flash-plugin-11.2.202.332-release.x86_64 Preparing... ################################# [100%] Cleaning up / removing... 1:flash-plugin-11.2.202.332-release ################################# [100%]
升级一个rpm软件包可以使用-U参数:
rpm -U flash-plugin-11.2.202.332-release.x86_64.rpm
可以使用-Uvh来查看rpm软件包的升级进度:
rpm -Uvh flash-plugin-11.2.202.332-release.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:flash-plugin-11.2.202.332-release ################################# [100%] NOTICE: Files belonging to older Flash plugins have been removed from the filesystem. For your safety these files have been saved in /root/oldflashplugins.tar.gz. You may remove this tarball if these files are no longer required.
使用rpm -aq可以查看所有已安装的软件包,配合grep可以查找到相关rpm软件包:
rpm -aq | grep flash
搜索所有带有player的rpm软件包:
rpm -aq | grep player media-player-info-17-5.fc21.noarch gnome-mplayer-nautilus-1.0.9-3.20150203svn2476.fc21.x86_64 kmplayer-0.11.3c-7.fc21.x86_64 smplayer-14.9.0.6690-1.fc21.x86_64 mplayer-1.1-32.20150123svn.fc21.x86_64 gnome-mplayer-1.0.9-3.20150203svn2476.fc21.x86_64 gnome-mplayer-minimal-1.0.9-3.20150203svn2476.fc21.x86_64 gnome-mplayer-common-1.0.9-3.20150203svn2476.fc21.x86_64 mplayer-common-1.1-32.20150123svn.fc21.x86_64 gnome-mplayer-nemo-1.0.9-3.20150203svn2476.fc21.x86_64
安装了一个rpm包,那么它被安装到了哪里?它内部都有什么文件呢?可以使用-ql来查看一个已经安装好的了rpm包:
rpm -ql vim-X11-7.4.475-2.fc21.x86_64 /usr/bin/evim /usr/bin/gex /usr/bin/gview /usr/bin/gvim /usr/bin/gvimdiff /usr/bin/gvimtutor /usr/bin/vimx /usr/share/applications/gvim.desktop /usr/share/icons/hicolor/16x16/apps/gvim.png /usr/share/icons/hicolor/32x32/apps/gvim.png /usr/share/icons/hicolor/48x48/apps/gvim.png /usr/share/icons/hicolor/64x64/apps/gvim.png /usr/share/man/man1/evim.1.gz
可以看到一个rpm包里面的文件是被安装到不同的目录下,而不是将这所有的文件放在同一个目录下。
在rpm安装时也可以使用—prefix=[path]这样的命令将它内部的文件统一安装到这个目录下,比如:
rpm -ivh gimp-2.8.8-3.fc21.x86_64.rpm –prefix=/usr/local/gimp-2.8.8 Preparing... ################################# [100%] Updating / installing... 1:gimp-2.8.8-3.fc21.x86_64.rpm ################################# [100%]
再使用rpm -al查看就可以看到gimp里所有的文件都被安装到了/usr/local/gimp-2.8.8目录下:
rpm -ql gimp-2.8.8.fc21.x86_64 /usr/local/gimp-2.8.8/etc/gimp /usr/local/gimp-2.8.8/etc/gimp/2.0 /usr/local/gimp-2.8.8/etc/gimp/2.0/gimprc /usr/local/gimp-2.8.8/etc/gimp/2.0/gtkrc /usr/local/gimp-2.8.8/usr/bin/gimp /usr/local/gimp-2.8.8/usr/bin/gimp-2.8 /usr/local/gimp-2.8.8/usr/bin/gimp-console /usr/local/gimp-2.8.8/usr/lib64/gimp /usr/local/gimp-2.8.8/usr/lib64/gimp/2.0 /usr/local/gimp-2.8.8/usr/lib64/gimp/2.0/environ
在安装rpm时,常常会遇到rpm软件包的依赖问题。就是说这个A.rpm依赖于另外一个B.rpm包。所以要先安装B.rpm再安装A.rpm。问题是当安装B.rpm时,它又依赖于另一个叫C.rmp的软件包。当然可以使用--nodeps参数来强制安装,但是这样就会导致很多rpm运行不正常。所以也不推荐这样忽略rpm依赖并强制安装的办法。
rpm依赖问题常常会出现,手动的下载,安装和解决rpm依赖问题往往是很费时费力的,所以在下一章将会介绍一种可以自动解决rpm依赖问题的安装办法。
Copyright © 2015-2023 问渠网 辽ICP备15013245号