原文:https://blog.csdn.net/jubincn/article/details/6687550

rpm2cpio命令:将rpm格式的文件转为cpio格式的文件。rpm是linux中常用的文件格式,方便了用户的安装,但没有cpio格式灵活,最典型的例子就是安装一个在rpm中.so文件时,如果直接使用rpm安装,那么需要处理复杂的依赖关系,将rpm转为cpio,则可以方便地提取.so文件,做过软连接。

比如:

rpm2cpio ../libstdc++-4.3.0-8.i386.rpm | cpio -idv

cpio命令详解(转自百度百科):

cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tar备份档内的文件。

语 法:

  cpio [-0aABckLovV][-C <输入/输出大小>][-F <备份档>][-H <备份格式>][-O <备份档>][--block-size=<区块大小>][--force-local][--help][--quiet][--version] 或 cpio [-bBcdfikmnrsStuvV][-C <输入/输出大小>][-E <范本文件>][-F <备份档>][-H <备份格式>][-I <备份档>][-M <回传信息>][-R <拥有者><:/.><所属群组>][--block-size=<区块大小>][--force-local][--help][--no-absolute-filenames][--no-preserve-owner][--only-verify-crc][--quiet][--sparse][--version][范本样式...] 或 cpio [-0adkiLmpuvV][-R <拥有者><:/.><所属群组>][--help][--no-preserve-owner][--quiet][--sparse][--version][目的目]

补充说明:

  cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tar备份档内的文件。

参 数:

  -0或--null 接受新增列控制字符,通常配合find指令的"-print0"参数使用。

  -a或--reset-access-time 重新设置文件的存取时间。

  -A或--append 附加到已存在的备份档中,且这个备份档必须存放在磁盘上,而不能放置于磁带机里。

  -b或--swap 此参数的效果和同时指定"-sS"参数相同。

  -B 将输入/输出的区块大小改成5210 Bytes。

  -c 使用旧ASCII备份格式。

  -C<区块大小>或--io-size=<区块大小> 设置输入/输出的区块大小,单位是Byte。

  -d或--make-directories 如有需要cpio会自行建立目录。

  -E<范本文件>或--pattern-file=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让cpio解开符合范本条件的文件,格式为每列一个范本样式。

  -f或--nonmatching 让cpio解开所有不符合范本条件的文件。

  -F<备份档>或--file=<备份档> 指定备份档的名称,用来取代标准输入或输出,也能借此通过网络使用另一台主机的保存设备存取备份档。

  -H<备份格式> 指定备份时欲使用的文件格式。

  -i或--extract 执行copy-in模式,还原备份档。

  -l<备份档> 指定备份档的名称,用来取代标准输入,也能借此通过网络使用另一台主机的保存设备读取备份档。

  -k 此参数将忽略不予处理,仅负责解决cpio不同版本间的兼容性问题。

  -l或--link 以硬连接的方式取代复制文件,可在copy-pass模式下运用。

  -L或--dereference 不建立符号连接,直接复制该连接所指向的原始文件。

  -m或preserve-modification-time 不去更换文件的更改时间。

  -M<回传信息>或--message=<回传信息> 设置更换保存媒体的信息。

  -n或--numeric-uid-gid 使用"-tv"参数列出备份档的内容时,若再加上参数"-n",则会以用户识别码和群组识别码替代拥有者和群组名称列出文件清单。

  -o或--create 执行copy-out模式,建立备份档。

  -O<备份档> 指定备份档的名称,用来取代标准输出,也能借此通过网络 使用另一台主机的保存设备存放备份档。

  -p或--pass-through 执行copy-pass模式,略过备份步骤,直接将文件复制到目的目录。

  -r或--rename 当有文件名称需要更动时,采用互动模式。

  -R<拥有者><:/.><所属群组>或  ----owner<拥有者><:/.><所属群组> 在copy-in模式还原备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组。

  -s或--swap-bytes 交换每对字节的内容。

  -S或--swap-halfwords 交换每半个字节的内容。  

   -t或--list 将输入的内容呈现出来。

  -u或--unconditional 置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖。

  -v或--verbose 详细显示指令的执行过程。

  -V或--dot 执行指令时,在每个文件的执行程序前面加上"."号

  --block-size=<区块大小> 设置输入/输出的区块大小,假如设置数值为5,则区块大小为2500,若设置成10,则区块大小为5120,依次类推。   

--force-local 强制将备份档存放在本地主机。

  --help 在线帮助。

  --no-absolute-filenames 使用相对路径建立文件名称。

  --no-preserve-owner 不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有。

  -only-verify-crc 当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个文件是否正确无误。

  --quiet 不显示复制了多少区块。

  --sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。

  --version 显示版本信息。

(转)rpm2cpio和cpio的更多相关文章

  1. linux commands

    abrt-cli --since ;查看abrt捕捉的异常 alias ;别名,alias rm='rm -i':使用“ \rm ” 使用原命令 alsamixer ;图形音量调节,q 增加左声道, ...

  2. CentOS系统 yum 安装 iftop实时流量监控工具

    一. 不多说其他的无用话题.直接看步骤: 1.要安装某个工具,首先得知道这个工具需要依赖包. eg:iftop 就依赖 以下这几个依赖包(不清楚工具依赖什么包“Google.百度”). flex   ...

  3. Linux JDK 安装

    1,下载JDK(Linux版) 官网下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2,  建立java目录 ...

  4. cloudera cdh native lib

    如果通过命令行的方式安装cloudera 版本的hadoop,下载它的cdh版本. 解压后执行,你会发现报warning,没有native的库,lib/native是空的. 如何获取native的文件 ...

  5. redhat 下 rpm 指令

    1.如何安装rpm软件包rmp软件包的安装可以使用程序rpm来完成.执行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安装的rpm包的文件名,一 ...

  6. linux rpm问题:怎样查看rpm安装包的安装路径

      x rpm问题:怎样查看rpm安装包的安装路径 2010-07-12 21:19:15 标签:rpm linux 路径 休闲 职场 rpm -qpl xxxxxx.rpm 1.如何安装rpm软件包 ...

  7. [转] CentOS单独安装Apache Benchmark压力测试工具的办法

    Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-util包,安装命令为: 1 ...

  8. 查看rpm和war包内容

    解压rpm包的内容:(没有安装,就像解压tgz包一样rpm包)rpm2cpio *.rpm | cpio -div 解压war包的内容: jar -xvf project.war 解压到当前目录

  9. yum只下载而不安装软件包?

    yum本身自带了两个选项, 用来只下载要安装的rpm包, 而并不实际安装包: yum --downloadonly --downloaddir=/root/Desktop  rpm-name1 rpm ...

随机推荐

  1. MySQL优化Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available

    //查看所有进程 show processlist; //查询是否锁表 show OPEN TABLES where In_use > 0; //查看被锁住的 SELECT * FROM INF ...

  2. 转一个Visual Stuido 快捷键

    http://www.shortcutworld.com/en/win/Visual-Studio_2010.html 快捷键分类很详细.

  3. Shiro 登录页面的几个固定字段

    http://shiro.apache.org/webapp-tutorial.html Step 3b: Add a login page Since Step 3a enabled login a ...

  4. Android属性动画之ValueAnimator的介绍

    之前两篇博客,介绍的是ObjectAnimator作用与某一个控件的某一个属性.但我们的ValueAnimator它本身并不会作用与任何一个属性,它本身也不会提供任何一种动画.它简单的来说,就是一个数 ...

  5. 菜鸟——springboot+mybatis+maven

    网上找了很多资料,学习如何搭建springboot,由于刚刚接触springboot,不是很熟练,通过参考网上别人搭建的例子,自己也搭建了一个简单的springboot+mybaits+maven 网 ...

  6. Python学习-18.Python中的错误处理(三)

    在某些情况下,我们需要定义自己的异常并且抛出 先定义一个错误: class MyError(BaseException): def __init__(self): pass 上面定义了一个叫MyErr ...

  7. 客户端Git代码的下载与提交

    (1)git clone 服务器用户名@服务器IP:~/Git目录/.git 功能:下载服务器端Git仓库中的文件或目录到本地当前目录. (2)对Git目录中的文件进行修改. (3)git statu ...

  8. bash基本命令速查表

    来源:https://github.com/skywind3000/awesome-cheatsheets/blob/master/languages/bash.sh ################ ...

  9. Unity/C#基础复习(3) 之 String与StringBuilder的关系

    参考资料 [1] @毛星云[<Effective C#>提炼总结] https://zhuanlan.zhihu.com/p/24553860 [2] <C# 捷径教程> [3 ...

  10. CC2530学习路线-基础实验-定时器控制LED灯亮灭(3)

    目录 1. 前期预备知识 1.1 定时器中断触发 1.2 相关寄存器 1.3 寄存器相关问题 1.4 T1.T3定时器初始化流程 2 程序及代码 THE END 1. 前期预备知识 1.1 定时器中断 ...