Linux rpm命令使用总结

Posted by fishcried on July 9, 2014

平台i386,i586,noarch,x86_64的说明

软件包的命名一般为”stfname-3.1-6.i386.rpm”, “名字-版本-释放次数. 使用的硬件平台.扩展名”

  • i386 几乎适用所有x86平台,i是intel的缩写。
  • i586 针对586等级的计算机进行最佳编译
  • i686 针对686等级的计算机进行最佳编译
  • x86_64 针对64位的cpu
  • noarch 没有任何硬件等级上的限制。

rpm进行软件安装

	rpm -ivh sftname-3.5-32.1.i386.rpm --test 
	rpm -ivh sftname3.5-32.1.i386.rpm
	rpm -ivh sftname3.5-32.1.i386.rpm --replacepkgs

rmp进行软件升级

	 -Uvh  后面接的软件如果没有安装过,系统则直接安装;否则系统自动升级到新版 
	 -Fvh  如果软件未安装,系统不会自动安装                  

通过rpm进行软件包查询

	 -q(query)               仅查询后面的软件名称是否安装             
	 -qa(query all)          列出所有已经安装在本机上的软件名称          
	 -qi(query information)  列出该软件的详细信息                 
	 -ql(query list)         列出该软件所有文件与目录所在的完整路径        
	 -qc(query config)       列出软件所有配置文件 /etc下文件         
	 -qd(query description)  列出软件的说明文件 与man文件有关         
	 -qR(query Required)     依赖文件                       
	 -qf(query file)         后面接文件的名称,找出该文件属于那一个已经安装的软件 
	 -qp[ilcdR](package)     查看未安装的rpm包                 

查询时候用到file:///var/lib/rpm/ 这么目录下的数据库文件</br>

	rpm -q gcc
	rpm -qa | grep -i gcc
	rpm -qc gcc
	rpm -qi gcc
	rpm -ql gcc
	rpm -qd gcc
	rpm -qR gcc
	#查看ls所在的包
	whereis ls
	rpm -qf /bin/ls

通过rpm验证

	 -V 已经安装的软件名称  若该软件所含文件被修改过,会列出  
	 -Va           列出系统中所有可能被修改的过的文件 
	 -Vp 软件包       列出软件内可能被修改过的文件    
	 -Vf           该文件是否被更动过         

修改信息格式:…….. filetype

  • S :(file Size differs) 文件的容量大小是否被改变
  • M :(Mode differs) 文件的类型或文件的属性 (rwx) 是否被改变?如是否可运行等参数已被改变
  • 5 :(MD5 sum differs) MD5 这一种指纹码的内容已经不同
  • D :(Device major/minor number mis-match) 装置的主/次代码已经改变
  • L :(readLink(2) path mis-match) Link 路径已被改变
  • U :(User ownership differs) 文件的所属人已被改变
  • G :(Group ownership differs) 文件的所属群组已被改变
  • T :(mTime differs) 文件的创建时间已被改变
  • 文件类型
    • c config file
    • d documentation
    • g ghost file
    • l license file
    • r read me file

通过rpm软件包卸载与重建

	#卸载有软件依赖性问题
	rpm -e sftnme
	#/var/lib/rpm里面数据破损了的话,可以重建
	rpm --rebuilddb