Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347576
  • 博文数量: 60
  • 博客积分: 1793
  • 博客等级: 上尉
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-17 18:21
文章存档

2012年(30)

2011年(30)

我的朋友

分类: LINUX

2012-02-06 17:12:20

简介:
     RPM全名“RedHat Package Manager”,简称则为RPM.当初这个软件管理机制是由红帽这家公司发展出来的.RPM是以一种数据库记录的方式来将你所需要的软件安装到你的linux系统的一套管理机制.

用法:
    rpm是对软件的操作,只有root身份才能执行rpm这个命令.

#软件的安装:
[root@Think laopi]# rpm -ivh package_name
参数:
-i :install的意思
-v :查看更详细的安装信息画面
-h :以安装信息栏显示安装进度,输出hash记号(``#``)
--test :只对安装进行测试,并不实际安装
--percent :以百分比的形式输出安装的进度

#软件的查询
[root@Think laopi]# rpm -[参数] package_name
参数:
查询已安装软件的信息:
-q :仅查询,后面接的软件是否有安装
-qa:列出所有已安装在本机linux系统上的软件名称
-qi:列出该软件的详细信息,包含开发商,版本如说名等
-ql:列出该软件安装在linux系统上所有文件与目录的完整文件名
-qc:列出该软件的所有设置文件(找出/etc/下的文件名而已)
-qd:列出该软件的所有帮助文件(找出与man有关的文件而已)
-qR:列出与该软件有关的依赖软件所含的文件(Required的意思)
-qf:由后面接的文件名称找出该文件属于哪一个已安装的软件
查询某个RPM文件内含的信息
-qp[icdlR]:注意-qp后面接的所有参数以上面的说明一直,但用途仅在于找出某个RPM文件内的信息,而非已安装的软件信息!

#软件的卸载
[root@Think laopi]# rpm -e package_name
卸载很简单只要通过-e即可删除,但是在卸载过程中一定要由上层往下解除 (就好比拆楼房一样要从上层让下层拆)

#RPM验证
[root@Think laopi]# rpm -[参数] package_name file_name
参数:
-V :后面加的是软件名称,若该软件所含的文件被改动,才会列出来
-Va:列出目前系统上所有可能被改动过的文件
-Vf:列出某个文件是否被改动过
-Vp:后面加的是某个rpm文件的文件名,列出该软件中可能被改动的文件

范例:
[root@Think linux常用软件]# rpm -V linuxqq
5S.T.....   /usr/bin/qq
#可以发现上面的程序里的文件以备改动,下面说明下改动文件前面可能出现的8ge字母的意思
S:文件的容量大小是否被改动
M:文件的文件类型或文件属性(rwx)是否被改动
5:MD5这一种指纹码的内容已经不同
D:设备的主/次代码已经改变
L:link路径已被改变
U:文件的所有者已被改变
G:文件的所属用户组已被改变
T:文件创建的时间已被改变
所以,如果一个软件的某个文件的所有信息都被改动过,那么他的显示就会是:
SM5DLUGT  filename

#重建RPM数据库:
由于RPM文件经常会安装/删除/升级等,某些操作可能会导致RPM数据库/var/lib/rpm/内的文件损坏.果真如此的话,我们可以使用--rebuilddb这个参数来重建一下数据库.做饭如下
[root@Think laopi]# rpm --rebuilddb

#部分说明
在查询部分,所有的参数之前都需要加上一个 -q 才是所谓的查询.查询主要分为两部分,一个是查已安装到系统上面的软件信息,这部分信息都是由/var/lib/rpm/所提供;另一个则是查某个rpm文件内容,等于是由rpm文件内找出一些要写入数据库内的信息,这部分就得要使用-qp(p是package的意思)

验证部分的功能主要在于提供系统管理员一个有用的管理机制.其作用的方式是使用/var/lib/rpm/下面的数据库内容来比较目前linux系统的环境下的所有软件文件.






阅读(1670) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~