欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell腳本解壓rpm軟件包

 更新時間:2014年06月20日 10:25:53   投稿:junjie  
這篇文章主要介紹了Shell腳本解壓rpm軟件包,用來解壓后提取某個包中文件,需要的朋友可以參考下

有時候需要從RPM包中提取文件,而又沒有安裝且不想安裝 rpm相關(guān)的庫和程序,此時下面這個小小的綠色腳本可以幫你達成愿望。

注:
1. 此腳本來源于 Internet,具體位置不記得了,相對于源腳本做了一點點小的改動
2. 系統(tǒng)需要安裝cpio程序(一般的系統(tǒng)都帶)

#!/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文件>

相關(guān)文章

  • jenkins?pipeline中獲取shell命令的標準輸出或者狀態(tài)的方法小結(jié)

    jenkins?pipeline中獲取shell命令的標準輸出或者狀態(tài)的方法小結(jié)

    這篇文章主要介紹了jenkins?pipeline中獲取shell命令的標準輸出或者狀態(tài),工作中需要獲取shell?命令的執(zhí)行狀態(tài),返回0或者非0,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • Linux Shell 數(shù)組的創(chuàng)建及使用技巧

    Linux Shell 數(shù)組的創(chuàng)建及使用技巧

    這篇文章主要介紹了Linux Shell 數(shù)組的創(chuàng)建及使用技巧,本文講解了數(shù)組定義、數(shù)組讀取與賦值以及特殊使用,需要的朋友可以參考下
    2015-07-07
  • Ubuntu配置NFS的具體流程(推薦)

    Ubuntu配置NFS的具體流程(推薦)

    下面小編就為大家?guī)硪黄猆buntu配置NFS的具體流程(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • linux下使用shell腳本輸出帶顏色字體

    linux下使用shell腳本輸出帶顏色字體

    這篇文章主要介紹了linux下使用shell腳本輸出帶顏色字體,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-06-06
  • linux shell命令行選項與參數(shù)用法詳解

    linux shell命令行選項與參數(shù)用法詳解

    本文介紹了linux shell中使用命令行選項與命令行參數(shù)的方法,在bash中,可以用以下三種方式來處理命令行參數(shù),每種方式都有自己的應用場景
    2014-04-04
  • linux shell字符串內(nèi)置的常用操作(獲取長度、查找、替換)

    linux shell字符串內(nèi)置的常用操作(獲取長度、查找、替換)

    在編寫shell程序時,經(jīng)常會涉及到字符串相關(guān)操作。有許多命令語句,如awk,sed都能夠做字符串各種操作。 事實上shell內(nèi)置一系列操作符號,能夠達到相似效果,使用內(nèi)部操作符會省略啟動外部程序等時間,因此速度會很的快。如果內(nèi)置的操作符能夠做到的,優(yōu)先使用內(nèi)置的
    2015-12-12
  • 判斷文件是否存在的shell腳本代碼

    判斷文件是否存在的shell腳本代碼

    判斷文件是否存在的shell腳本,有詳細的注釋,很不錯,有需要的朋友不妨參考下
    2013-02-02
  • linux中scp命令和scp命令用法大全

    linux中scp命令和scp命令用法大全

    scp是linux中功能最強大的文件傳輸命令,可以實現(xiàn)從本地到遠程以及遠程到本地的輕松文件傳輸操作,本文給大家分享linux中scp命令和scp命令用法大全,需要的朋友可以參考下
    2015-09-09
  • Linux腳本自動打包發(fā)服務(wù)

    Linux腳本自動打包發(fā)服務(wù)

    這篇文章主要介紹了Linux腳本自動打包發(fā)服務(wù)的相關(guān)資料,需要的朋友可以參考下
    2019-11-11
  • Shell腳本中的echo命令使用介紹

    Shell腳本中的echo命令使用介紹

    這篇文章主要為大家介紹了Shell腳本中的echo命令使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論