原文: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. yii2 ActiveRecord的生命周期

    AR的生命周期 http://www.yii-china.com/doc/guide/db_active_record.html 理解AR的生命周期对于你操作数据库非常重要.生命周期通常都会有些典型的 ...

  2. MATLAB中的快捷键

    Ctrl + c  中止程序的运行,鼠标要点到命令窗内.

  3. 基于NLP和GAN的小说影视化

    轮廓: https://tieba.baidu.com/p/1271120336 着色:

  4. oracle 游标实现多重循环

    declare -- Local variables here i integer; cursor c_province is select ds.swjg_dm from dm_swjg ds wh ...

  5. MLLib实践Naive Bayes

    引言 本文基于Spark (1.5.0) ml库提供的pipeline完整地实践一次文本分类.pipeline将串联单词分割(tokenize).单词频数统计(TF),特征向量计算(TF-IDF),朴 ...

  6. JavaScript從剪切板中獲取圖片並在光標處插入

    edit_content_text.addEventListener('paste', function (ev) {    var clipboardData, items, item;    co ...

  7. linux系统编程之文件与IO(四):目录访问相关系统调用

    1. 目录操作相关的系统调用     1.1 mkdir和rmdir系统调用     1.1.1 实例     1.2 chdir, getcwd系统调用     1.2.1 实例     1.3 o ...

  8. JWT+Log4net配置与使用

    Log4net的优点        log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.程序运行过 ...

  9. netcore配置文件与发布

    这段时间好几次想写博客,但是却发现无法编辑,至今都不行 CuteEditor TinyMCE(推荐) 以上两种都不行,只好更改默认编辑器为textbox. 一直以为被封了还是怎么滴,原来是突然不支持c ...

  10. 解决vs2015引用时没有Report Viewer的问题

    1.选择“工具”>“Nuget包管理器”>“程序包管理器控制台” 执行命令:Install-Package Microsoft.ReportingServices.ReportViewer ...