我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Shell脚本解压rpm软件包

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Shell脚本解压rpm软件包

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

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


#!/bin/sh

#*************************************************************
#     Author: Unknown, Modified by gimoo.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文件>

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Shell脚本解压rpm软件包

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell脚本解压rpm软件包

有时候需要从RPM包中提取文件,而又没有安装且不想安装 rpm相关的库和程序,此时下面这个小小的绿色脚本可以帮你达成愿望。 注: 1. 此脚本来源于 Internet,具体位置不记得了,相对于源脚本做了一点点小的改动 2. 系统需要安装cp
2022-06-04

Shell脚本解压rpm软件包的实现方法

这篇文章主要讲解了“Shell脚本解压rpm软件包的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本解压rpm软件包的实现方法”吧!有时候需要从RPM包中提取文件,而又没
2023-06-09

安装rpm软件包报NOKEY问题解决

在vmware linux AS4上安装vsftpd*.rpm时候报下面的错误:----------warning: vsftpd*: Header V3 DSA signature: NOKEY, key ID 217521f6GPG k
2023-06-04

shell如何调用脚本将文件打包zip

这篇文章给大家分享的是有关shell如何调用脚本将文件打包zip的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法如下:第一步,创建脚本:#!/bin/shCERT_DIR_ZIP=/data/cert/keys
2023-06-09

Linux下怎么安装、压缩、解压软件包

这篇文章主要介绍了Linux下怎么安装、压缩、解压软件包,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux中打包和压缩的区别:在具体总结各类压缩文件之前呢,首先要弄清两
2023-06-05

Shell脚本实现上传zip压缩文件到FTP服务器

# /bin/bash# creator:lihuibin# date : 2014-03-10 16:45# desc : upload file to ftphosts="192.168.56.100"port=21user=testp
2022-06-04

shell脚本学习之调用脚本将文件打包zip的方法示例

前言 本文主要给大家介绍的是关于调用脚本将文件打包zip的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍:最近刚刚接触shell脚本,写了一点简单的练手。这里是用python调用脚本执行打包操作。方法如下: 第一步,创建脚本:#
2022-06-04

PHP Linux脚本操作实例:实现文件压缩与解压

在Linux系统中,文件的压缩与解压是经常使用的操作。PHP作为一种强大的服务器端编程语言,在Linux环境中同样可以使用PHP脚本来完成文件压缩与解压的操作。本文将介绍如何使用PHP脚本来实现文件的压缩与解压,并提供具体的代码示例。文件压
2023-10-21

Shell脚本中调用、引用、包含另外一个脚本文件的两种方法

脚本 first (测试示例1) #!/bin/bashecho 'your are in first file'问)在当前脚本文件中调用另外一个脚本文件? 方法一: 使用 source 脚本 second (测试示例2)#!/bin/ba
2022-06-04

Linux平台中用Python脚本操作实现文件压缩与解压缩

Linux平台中利用Python脚本进行文件压缩与解压缩是一种十分便捷和高效的方法。在本文中,我们将讨论如何使用Python编写脚本来实现文件的压缩和解压缩,并提供具体的代码示例。一、文件压缩文件压缩是将一个或多个文件打包并压缩成一个单独的
2023-10-22

shell脚本传参中包含有空格的参数怎么解决

本篇内容主要讲解“shell脚本传参中包含有空格的参数怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本传参中包含有空格的参数怎么解决”吧!问题描述调用并传参数给其他shell
2023-07-05

Shell脚本实现自动检测修改最快的Ubuntu软件源

每次装好Ubuntu,对于大多数用户来说,首先要做的事就是手动修改/etc/apt/sources.list文件,将里面的官方软件源地址更换为自己学校或者公司的软件源。当我们更换一个工作环境后,可能伴随着又要替换旧的软件源地址。 笔者觉得这
2022-06-04

Shell中调用、引用、包含另一个脚本文件的三种方法

脚本 first (测试示例1) first#!/bin/bashecho 'your are in first file' 方法一:使用source #!/bin/bashecho 'your are in second file'so
2022-06-04

Shell脚本实现监测文件变化的示例详解

目录代码使用方法我最近在使用linux的过程中遇到,遇到这样一个需求:监测某个文件的创建,变动、删除,并记录文件的每一个版本。我在网上没有找到合适的脚本或工具,然后我就自己写了一个shell脚本实现这个需求。 代码 完整的shell脚本如下
2022-06-22

Shell中调用、引用、包含另一个脚本文件的方法有哪些

本篇内容介绍了“Shell中调用、引用、包含另一个脚本文件的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!脚本 first (测试
2023-06-09

shell脚本语言之if条件判断语句实例详解

目录1.单分支if条件语句1.1举例:判断目录是否存在,不存在则创建2.双分支if条件语句2.1举例:监听并自动重启apache服务脚本3.多分支if条件语句3.1举例:判断用户输入的是文件还是目录4.case条件语句4.1举例:创建启动脚
2022-06-05

解决Centos7下crontab+shell脚本定期自动删除文件问题

问题描述: 最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件 保留7天就够了,所以需要自动清理文件夹内的bak文件 解决方案: 利用shell脚本来定期删除文件夹内的任务 1、创建shell文件[ro
2022-06-04

Shell中实现“多线程”执行脚本文件完美解决方案

即比如我有100个可执行文件,互相间没有特别的先后执行关系,如CODE:job_1job_2job_2.....job_100想用csh/bash来多线程调用执行。 比如一次开5个线程,那么job_1,2,3,4,5一起先开始,那么其中任何
2022-06-04

编程热搜

目录