登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

查看RPM文件内嵌的脚本 RPM包的过程  

2009-06-08 23:02:05|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
查看RPM包内嵌的脚本

rpm -qp --scripts <rpm file name>

-p 使用RPM文件而不是数据库

--scripts 显示RPM中的脚本内容

查看安装一个RPM包的过程,比如修改了什么脚本,

这样可以不?
#find / * >;find1.txt
#rmp -ivh dhcpcd-0.70-4.rpm
#find /* >;find2.txt
#diff find1.txt find2.txt >;find.txt
find.txt中就是安装了rpm包后改变的东西!

extact rpm

#!/bin/sh

#*************************************************************
#         Author: Unknown,
#                 Modified by Muddyboot -
# Last modified: 2007-09-17 12:44
#       Filename: rpmextract.sh
#    Description: extrac rpm package without install
#                 rpm related program
#*************************************************************

if [ $# -lt 1 ] ; then
echo -e "\a\nUsage: `basename $0` <rpm_pkg_file> \n"
exit 1
fi

pkg=$1
if [ ! -e "$pkg" ]; then
    echo -e "\nERR: package $pkg does not exist ! \n"
exit 1
fi

### check if cpio exists
CPIO_VER=`cpio --version 2>/dev/null`
if [ -z "$CPIO_VER" ]; then
echo -e "\nERR: prerequisite program cpio does not found ! \n"
exit 1
fi

leadsize=96
o=`expr $leadsize + 8`
set `od -j $o -N 8 -t u1 $pkg`
il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
# echo "sig il: $il dl: $dl"

sigsize=`expr 8 + 16 \* $il + $dl`
o=`expr $o + $sigsize + \( 8 - \( $sigsize \% 8 \) \) \% 8 + 8`
set `od -j $o -N 8 -t u1 $pkg`
il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
# echo "hdr il: $il dl: $dl"

hdrsize=`expr 8 + 16 \* $il + $dl`
o=`expr $o + $hdrsize`

dd if=$pkg ibs=$o skip=1 2>/dev/null | gunzip | cpio -idmuv || dd if=$pkg ibs=$o skip=1 2>/dev/null | bzip2 -d | cpio -idmuv

  评论这张
 
阅读(906)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018