rpm命令常用操作

     2013年04月24日       teddy.sun       运维笔记->系统管理       rpm 

1.查找软件包是否安装
rpm -q 软件包名字|部分名字
示例:
[root@localhost ~]# rpm -q gcc
gcc-4.1.2-48.el5
2.查找某个文件所属的rpm包
rpm -q --file 文件
示例:
[root@localhost ~]# rpm -q --file /bin/ls
coreutils-5.97-23.el5_4.2
3.列出已经安装的rpm包中的所有文件
rpm -a --list rpm包
示例:
[root@localhost ~]# rpm -q --list util-linux-2.13-0.52.el5_4.1
/bin/arch
/bin/dmesg
/bin/kill
/bin/logger
/bin/login
/bin/more
/bin/mount
/bin/raw
...
4.列出rpm文件中的内容
rpm -qpl rpm包名
示例:
[root@host1 ~]# rpm -ql grub-0.97-13.5
/boot/grub
/sbin/grub
/sbin/grub-install
/sbin/grub-md5-crypt
/sbin/grub-terminfo
/usr/bin/mbchk
/usr/share/doc/grub-0.97
/usr/share/doc/grub-0.97/AUTHORS
/usr/share/doc/grub-0.97/COPYING
/usr/share/doc/grub-0.97/ChangeLog
/usr/share/doc/grub-0.97/NEWS
/usr/share/doc/grub-0.97/README
/usr/share/doc/grub-0.97/TODO
5.验证rpm包的相关文件的修改
rpm -V 已安装的包名
示例:
[root@localhost ~]# rpm -V chkconfig-1.3.47-1.el6.x86_64
.....UG..    /etc/rc.d/init.d
6.恢复rpm包的相关权限、组的设置
rpm --setperms 包名  #恢复包的权限
rpm --setugids  包名  #恢复包的uid、gid等
7.查询已安装的rpm包的依赖关系
rpm -qR 包名
示例:
#rpm -qR which-2.16-7
/bin/sh
/bin/sh
/sbin/install-info
config(which) = 2.16-7
dev
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
8.解压rpm
rpm2cpio xxx.rpm | cpio -idv