原文: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. composer 安装扩展失败的决绝方法

    https://getyii.com/topic/32

  2. myeclipse新建jsp文件时弹出默认模板,怎么改成自己修改后的

    (1)打开Window——Preferences (2)选择MyEclipse——Filed andEditors——JSP——JSP Source——Templates 看到右边的New Jsp编辑 ...

  3. The Real Meaning of Peace

    The Real Meaning of Peace There once was a king who offered a prize to the artist who would paint th ...

  4. Gitlab搭建安装及使用中遇到的问题。

    一.CentOS7安装gitlab-ce 1.下载及安装rpm软件包. 下载RPM包 curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ ...

  5. Maven发布和管理项目

    1 什么是Maven? 如果没有Maven,你可能不得不经历下面的过程: 1 如果使用了spring,去spring的官网下载jar包:如果使用hibernate,去hibernate的官网下载Jar ...

  6. 实现EventHandler的监测

    的监测", "category":"", "tags":"", "publish":&qu ...

  7. 【加密算法】Base64

    一.简介 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规 ...

  8. C#获取微信二维码显示到wpf

    微信的api开放的二维码是一个链接地址,而我们要将这个二维码显示到客户端.方式很多,今天我们讲其中一种. /// <summary> /// 获取图片路径 /// </summary ...

  9. fast powf

    测试结果: sum (fast) in clock 1562sum (fast2) in clock 1407sum (fast3) in clock 3156sum in clock 7797Err ...

  10. eclipse的使用和断点调试

    断点: 快捷键 f5: step into f6: step over 跳过,跳到下一行 f7:step return 从某个方法里跳回 跳出 drop to frame: 跳到当前方法的第一行 re ...