RPM是”Redhat Package Manager”的缩写,根据名字也能猜到这是Redhat公司开发出来的。RPM 是以一种数据库记录的方式来将你所需要的套件安装到你的Linux 主机的一套管理程序。也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
每一个rpm包的名称都由”-“和”.”分成了若干部分。就拿 php-5.3.3-26.el6.x86_64.rpm 这个包来解释一下,php为包名;5.3.3则为版本信息;26.el6为发布版本号;x86为运行平台。其中运行平台常见的有i386, i586, i686, x86_64 ,需要你注意的是cpu目前是分32位和64位的,i386,i586和i686都为32位平台,x86_64则代表为64位的平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。例如 alacarte-0.10.0-1.fc6.noarch.rpm
//下面皆为一般的常用选项,详细可自行查看manpage
1) 安装一个rpm包: rpm -ivh 包名 -i :安装的意思
-v :可视化
-h :显示安装进度
另外在安装一个rpm包时常用的附带参数有: --force 强制安装,即使覆盖属于其他包的文件也要安装
--nodeps 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包
2)查询一个包是否安装 rpm -q 包名(这里的包名可以仅仅是个简称)
当然你有可以通过rpm -qa来查看所有的已经安装的rpm包(下面仅仅列出10条)
3》得到一个rpm包的相关信息rpm -qi 包名
4>>列出一个rpm包安装的文件(仅仅是部分截图)rpm -ql 包名
5>>列出某一个文件属于哪个rpm包 rpm -qf 文件的绝对路径 用which httpd查看
6》》升级一个rpm包 rpm -Uvh filename -U :即升级的意思
7》》卸载一个rpm包 rpm -e filename 这里的filename是通过rpm的查询功能所查询到的
可以看到有包依赖,前面说过卸载要先卸载依赖包,再卸载相应的包通过管道rpm -qa|grep httpd可以查看filename
对csdn越来越失望了,这个编辑器真心让我难受。