测试过程中,有时要测试开发自己打的rpm包,为了确认打包正确,需要查询rpm包相关安装、卸载脚本,可以使用命令:
[root@6 /]#rpm -q --scripts mysql
postinstall scriptlet (using /bin/sh):
/sbin/install-info /usr/share/info/mysql.info.gz /usr/share/info/dir
/sbin/ldconfig
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
/sbin/install-info --delete /usr/share/info/mysql.info.gz /usr/share/info/dir || :
fi
postuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ] ; then
/sbin/ldconfig
fi
会有一些下面这些标识声明的脚本段
preinstall scriptlet (using /bin/sh)::安装前执行脚本
postinstall scriptlet (using /bin/sh)::安装后执行脚本
preuninstall scriptlet (using /bin/sh)::卸载前执行脚本
postuninstall scriptlet (using /bin/sh)::卸载后执行脚本
如果安装过程中,不想执行其中一个脚本,可以指定:
-nopre:不执行安装前脚本
--nopost:不执行安装后脚本
--nopreun :不执行卸载前脚本
--nopostun:不执行卸载后脚本
全部不执行,使用:--noscripts 即相当于前面四个的总合
################
linux RPM包安装、更新、删除等操作命令简明总结, 如何查看yum安装的软件路径 ?
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -qg "System Environment/Daemons" 显示一个组件的rpm包
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name --whatprovides 显示一个rpm包所占的体积
rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
rpm -q package_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm --checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包
1. rpm -qa|grep 软件包名
2. rpm -ql 软件包名 (l是L的小写,不是坚线)
这里以hdf5软件包为例:
首先采用 yum install hdf5
#yum install hdf5
#rpm -ql hdf5-1.8.7-1.el6.rf.x86_64
以下内容摘自<<Linux鸟哥的私房菜>>:
rpm 全名是 “RedHat Package Manager",简称则为RPM。当被这个软件管理机制是由Red Hat这家公司发展来的。RPM是以一种数据记录的方式来将你所需要的软件安装到你的Linux系统的一套管理机制。rpm的优点如下:
1. RPM内含已编译过的程序与设置文件等数据,可以让用户免除重新编译的困扰。
2. RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装。
3. RPM文件本身提供软件版本信息、依赖属性软件名称、软件用途说明、软件所含文件信息,便于了解软件。
4. RPM管理的方式使用数据库记录RPM文件的相关参数,便于升级、删除、查询与验证。
RPM默认安装路径:
/etc | 一些设置文件放置的目录如/etc/crontab |
/usr/bin | 一些可执行文件 |
/usr/lib | 一些程序使用的动态函数库 |
/usr/share/doc | 一些基本的软件使用手册与帮助文档 |
/usr/share/man | 一些man page文件 |