RPM包的使用

不同yum安装源配置文件
ls -l /etc/yum.repo.d

RPM包的主包和子功能包
mount /dev/cdrom /media/cdrom
cd /media/cdrom/Packages
ls rpm*
rpm-4.8.0-32.el6.x86_64.rpm        rpm-devel-4.8.0-32.el6.x86_64.rpm  rpm-libs-4.8.0-32.el6.x86_64.rpm
rpm-build-4.8.0-32.el6.x86_64.rpm  rpmdevtools-7.5-2.el6.noarch.rpm   rpmlint-0.94-2.el6.noarch.rpm
rpm-devel-4.8.0-32.el6.i686.rpm    rpm-libs-4.8.0-32.el6.i686.rpm     rpm-python-4.8.0-32.el6.x86_64.rpm

安装和删除RPM包

rpm -i zsh-4.3.10-5.el6.x86_64.rpm    #-i 表示安装。NOKEY表示装的包,其来源合法性没验证
rpm -e zsh                            #-e  表示卸载,包名即可,无需rpm名字。如果卸载前有文件被修改,则会加.rpmsave后续名来保留
rpm -iv zsh-4.3.10-5.el6.x86_64.rpm   ##-v表示安装详情,-h表示安装进度
rpm -ivvh zsh-4.3.10-5.el6.x86_64.rpm #-vv表示安装详情。包括 合法性验证、rpm包内文件列表、数据库更新、脚本安装
rpm -ivh --test mysql-5.1.66-2.el6_3.x86_64.rpm  #--test测试是否可安装
rpm -ivh --nodeps libvirt-devel-0.10.2-18.el6.i686.rpm     #--nodeps表示安装时忽略依赖的包,注意很可能影响使用


查询包


包的信息
rpm -q zsh #包是否已安装(-q)
rpm -qa | wc -l #所有(-a)的包
rpm -qa | grep java
rpm -qi zsh #包的信息(-i)
rpm -ql zsh #包内的所有文件(-l)
rpm -qc zsh #包内的配置文件(-c)
rpm -qd zsh #包内的文档文件(-d)
rpm -q --scripts zsh #包内含安装前/后,卸载前/后的脚本
rpm -qf /etc/fstab #查看文件是由哪个安装包提供的
rpm -qpi java-1.7.0-openjdk-devel-1.7.0.9-2.3.4.1.el6_3.x86_64.rpm #未安装包(-p)的信息,(常与-l、-c、-d、--scripts选项结合)


查看已安装文件发生什么变化
vim /etc/zshrc 
tail -n 1 /etc/zshrc 
#my name is tangsw
rpm -V zsh
S.5....T.  c /etc/zshrc
-----------这些标志位的解析----------
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ


包的公钥

 
导入公钥
cd /media/cdrom/Packages
rpm --import RPM-GPG-KEY-CentOS-6
cd Packages/
rpm -ivh zsh-4.3.10-5.el6.x86_64.rpm     #导入核心包的公钥后,安装时再无提示安装合法性问题

查看公钥
rpm -qa gpg-pubkey* #查看导入的公钥
rpm -qi gpg-pubkey-c105b9de-4e0fd3a3 #-i查看公钥信息
rpm -e gpg-pubkey-c105b9de-4e0fd3a3 删除公钥

检查包的合法性(-K)
1.自动检查
见上面的"rpm -ivh rpm包名"命令输出结果
2.手动检查。有无导入公钥的区别
rpm -K zsh-4.3.10-5.el6.x86_64.rpm 
提示缺少密钥。((MD5) PGP)前者表示单向加密、后者表示公钥加密
rpm --import ../RPM-GPG-KEY-CentOS-6
rpm -K zsh-4.3.10-5.el6.x86_64.rpm 
3.不检查合法性(--nosignature),不检查完整性(--nodigest)
rpm -K --nosignature zsh-4.3.10-5.el6.x86_64.rpm 347
rpm -K --nodigest zsh-4.3.10-5.el6.x86_64.rpm 


包数据库

cd /var/lib/rpm/
ls -l
total 51568
-rw-r--r--. 1 root root  5013504 Sep 16 15:06 Basenames
-rw-r--r--. 1 root root    12288 Sep 13 02:56 Conflictname
-rw-r--r--. 1 root root    24576 Sep 16 15:25 __db.001            #__db是临时文件,不用管
-rw-r--r--. 1 root root   229376 Sep 16 15:25 __db.002
-rw-r--r--. 1 root root  1318912 Sep 16 15:25 __db.003
-rw-r--r--. 1 root root   753664 Sep 16 15:25 __db.004
-rw-r--r--. 1 root root  1056768 Sep 16 15:06 Dirnames
-rw-r--r--. 1 root root  5251072 Sep 16 15:06 Filedigests
-rw-r--r--. 1 root root    20480 Sep 16 15:14 Group                #包组
-rw-r--r--. 1 root root    20480 Sep 16 15:14 Installtid           #包的ID
-rw-r--r--. 1 root root    45056 Sep 16 15:14 Name                 #包名字
-rw-r--r--. 1 root root    24576 Sep 13 02:57 Obsoletename
-rw-r--r--. 1 root root 39669760 Sep 16 15:14 Packages             #安装了哪些包
-rw-r--r--. 1 root 7  1306624 Sep 16 15:14 Providename
-rw-r--r--. 1 root root   643072 Sep 16 15:14 Provideversion
-rw-r--r--. 1 root root    12288 Sep 16 15:14 Pubkeys              #导入哪些公钥
-rw-r--r--. 1 root root   446464 Sep 16 15:06 Requirename
-rw-r--r--. 1 root root   249856 Sep 16 15:06 Requireversion
-rw-r--r--. 1 root root    86016 Sep 16 15:06 Sha1header
-rw-r--r--. 1 root root    77824 Sep 16 15:06 Sigmd5
-rw-r--r--. 1 root root    12288 Sep 13 02:56 Triggername

rpm --initdb #--initdb没有库重建,有库不重建
rpm --rebuilddb #--rebuilddb直接重建,覆盖原有的库








posted @ 2014-03-30 14:01  tsw1107  阅读(575)  评论(0编辑  收藏  举报