首页 > 代码库 > rpm包总结
rpm包总结
rpm命令:
rpm:
数据库: /var/lib/rpm
rpmbuild:SRPM:其提供的软件内容并没有被编译,它提供的是代码源,需要自己通过编译。
安装的时候RPM与SRPM需要注意的问题
1、软件安装的环境必须与打包时的环境需求一致或相当;
2、需要满足软件的依赖属性需求;
3、反安装时需要特别小心,最底层的软件不可先删除,否则可能造成整个系统的问题,
则此时需要的步骤、用SRPM
先将该文件以RPM管理的方式编译,此时SRPM会被编译成为RPM文件;
然后将编译完成的RPM文件安装到Linux系统中
RPM的优点
1、RPM内含已经编译过的程序与设置文件等数据,可以让用户免除重新编译的困扰
2、RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本,可避免文件被错误安装
3、RPM文件本身提供软件版本信息、依赖属性软件名称、软件用途说明、软件所含文件等信息,以便与了解软件
4、RPM管理的方式使用数据库记录RPM文件的相关参数,便于升级、删除、查询与验证
rpm:
1、安装(install):
rpm -i /PATH/TO/PACKAGE_FILE
-h:以#显示进度:每个#表示2%
-v:显示详细安装
-vv:显示更详细的过程
rpm -ivh /PATH/TO/PACKAGE_FILE
rpm -ivh rp-pppoe-3.5-32.1.i386.rpm
rpm -ivh http://
--nodeps:忽略依赖关系
--replacepkgs:重新安装,替换原有安装;
--force:强行安装,可以实现重装或降级;
在没有网络的情况下,想用光盘来安装,那么就需要
挂载光盘,使用: mount /dev/cdrom /media
找出文件的实际路径:find /media -name ‘pam-devel*‘
测试此软件是否有依赖性:rpm -ivh pam-devel... --text
直接安装:rpm -ivh pam-devel...
卸载光盘:umount /dev/cdrom
2、查询 (query)
rpm -q PACKAGE_NAMEPACKAGE_NAME
rpm -qa:查询已经安装的所有包
rpm -qi PACKAGE_NAME:查询指定包的说明信息;
rpm -ql PACKAGE_NAME:查询指定安装包后生成的文件列表;
rpm -qc PACKAGE_NAME:查新指定包安装的配置文件;
rpm -qd PACKAGE_NAME:查新指定包安装的配置文件;
rpm -q --scripts PACKAGE_NAME:查询指定包中包含的脚本
rpm -qf /PATH/TO/SOMEFILE:查新指定的文件是由哪个rpm包安装生成的
如果某rpm包尚未安装,我们需查询器说明信息、安装以后会生成的文件;
rpm -qpi /PATH/TO/PACKAGE_FILE i软件包的信息
rpm -qpl /PATH/TO/PACKAGE_FILE l软件包的列表
rpm -qa <==已安装软件
rpm -q[licdR] <==已安装的软件
rpm -qf 存在于系统上的某个文件名
rpm -qp[licdR]未安装的某个文件名
以上内容均为查询选项,这里就不一一演示了。
3、升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的则升级,否则安装
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的则升级,否则退出
--oldpackage:降级
4、卸载
rpm -e PACKAGE_NAME
--nodeps
找出与pam有关的软件名称,并删除
rpm -qa | grep pam
rpm -e pam
5、校验
rpm -V PACKAGE_NAME检查文件是不是被非法改变过的
显示出的8个字段
字段1:S--表示大小
字段2:M--文件类型权限
字段3:5--MD5
字段4:D--设备的主设备号与次设备号不一直
字段5:Lreadlink---路径
字段6:U--属主
字段7:G--属组
字段8:T--最近一次的修改时间
6、重建数据库
rpm
--rebuilddb:重建数据库,一定会重新建立;
--initdb:初始化数据库,没有才建立,有就不用建立;
7、检验来源合法性,及软件包完整性;
加密类型:
对称:加密解密使用同一对密钥
公钥:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来并公开出去
单向:
/etc/pki/rpm-gpg/
rpm -K /PATH/TO/PACKAGE_FILE
dsa,gpg:验证来源合法性,也即验证签名:可以使用 --nosignature略过此项
sha1,md5:验证软件包完整性;可以使用--nodigest,略过此项
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入密钥文件
rpm包总结