• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Shell脚本解压rpm软件包

    有时候需要从RPM包中提取文件,而又没有安装且不想安装 rpm相关的库和程序,此时下面这个小小的绿色脚本可以帮你达成愿望。

    注:
    1. 此脚本来源于 Internet,具体位置不记得了,相对于源脚本做了一点点小的改动
    2. 系统需要安装cpio程序(一般的系统都带)

    #!/bin/sh
    
    #*************************************************************
    #     Author: Unknown, Modified by jb51.net
    #    Filename: rpmextract.sh
    #  Description: extrac rpm package without install 
    #         rpm related program
    #*************************************************************
    
    if [ $# -lt 1 ] ; then
    	echo -e "anUsage: `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
    

    使用方法:rpmextract.sh RPM文件>

    您可能感兴趣的文章:
    • Linux RPM命令参数
    • Linux 下rpm命令参数详解
    • linux命令详解之rpm命令参数使用方法
    • Linux rpm 命令参数使用详解
    • Linux rpm命令参数使用大全(经典)
    • 解压rpm包的linux命令及rpm命令使用简介
    上一篇:Shell脚本把文件从GBK转为UTF-8编码
    下一篇:shell脚本中常见的一些特殊符号和作用详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Shell脚本解压rpm软件包 Shell,脚本,解压,rpm,软件包,