公司注册网站需要什么条件佛山禅城
web/
2025/9/27 10:10:34/
文章来源:
公司注册网站需要什么条件,佛山禅城,3g医院网站模板,搜索引擎营销的英文缩写是在讲解如何从 RPM 包中提取文件之前#xff0c;先来系统学习一下 cpio 命令。cpio 命令用于从归档包中存入和读取文件#xff0c;换句话说#xff0c;cpio 命令可以从归档包中提取文件(或目录)#xff0c;也可以将文件(或目录)复制到归档包中。归档包#xff0c;也可称为文…在讲解如何从 RPM 包中提取文件之前先来系统学习一下 cpio 命令。cpio 命令用于从归档包中存入和读取文件换句话说cpio 命令可以从归档包中提取文件(或目录)也可以将文件(或目录)复制到归档包中。归档包也可称为文件库其实就是 cpio 或 tar 格式的文件该文件中包含其他文件以及一些相关信息(文件名、访问权限等)。归档包既可以是磁盘中的文件也可以是磁带或管道。cpio 命令可以看做是备份或还原命令因为它可以将数据(文件)备份到 cpio 归档库也可以利用 cpio 文档库对数据进行恢复。使用 cpio 命令备份或恢复数据需注意以下几点使用 cpio 备份数据时如果使用的是绝对路径那么还原数据时会自动恢复到绝对路径下同理如果备份数据使用的是相对路径那么数据会还原到相对路径下。cpio 命令无法自行指定备份(或还原)的文件需要目标文件(或目录)的完整路径才能成功读取因此此命令常与 find 命令配合使用。cpio 命令恢复数据时不会自动覆盖同名文件也不会创建目录(直接解压到当前文件夹)。cpio 命令主要有以下 3 种基本模式-o 模式指的是 copy-out 模式就是把数据备份到文件库中命令格式如下[rootlocalhost ~]# cpio -o[vcB] [文件丨设备]各选项含义如下-ocopy-out模式备份-v显示备份过程-c使用较新的portable format存储方式-B设定输入/输出块为 5120Bytes而不是模式的 512Bytes比如使用 cpio 备份数据的命令如下[rootlocalhost ~]#find /etc -print | cpio -ocvB /root/etc.cpio#利用find命令指定要备份/etc/目录使用导出到etc.cpio文件[rootlocalhost ~]# II -h etc.cpio-rw--r--r--.1 root root 21M 6月5 12:29 etc.cpio#etc.cpio文件生成-i 模式指的是 copy-in 模式就是把数据从文件库中恢复命令格式如下[rootlocalhost ~]# cpio -i[vcdu] [文件|设备]各选项的含义为-icopy-in 模式还原-v显示还原过程-c较新的 portable format 存储方式-d还原时自动新建目录-u自动使用较新的文件覆盖较旧的文件比如使用 cpio 恢复之前备份的数据命令如下[rootlocalhost ~]# cpio -idvcu /root/etc.cpio#还原etc的备份#如果大家査看一下当前目录/root/就会发现没有生成/etc/目录。这是因为备份时/etc/目录使用的是绝对路径所以数据直接恢复到/etc/系统目录中而没有生成在/root/etc/目录中-p 模式指的是复制模式使用 -p 模式可以从某个目录读取所有文件但并不将其备份到 cpio 库中而是直接复制为其他文件。例如使用 -p 将 /boot/ 复制到 /test/boot 目录中可以执行如下命令[rootlocalhost ~]# cd /tmp/#进入/tmp/目录[rootlocalhost tmp]#rm -rf*#删除/tmp/目录中的所有数据[rootlocalhost tmp]# mkdir test#建立备份目录[rootlocalhost tmp]# find /boot/ -print | cpio -p /tmp/test#备份/boot/目录到/tmp/test/目录中[rootlocalhost tmp]# ls test/boot#在/tmp/test/目录中备份出了/boot/目录使用 cpio 命令提取 RPM 包中指定文件在服务器使用过程如果系统文件被误修改或误删除可以考虑使用 cpio 命令提取出原 RPM 包中所需的系统文件从而修复被误操作的源文件。RPM 包允许逐个提取包中文件使用的命令格式如下[rootlocalhost ~]# rpm2cpio 包全名|cpio -idv .文件绝对路径该命令中rpm2cpio 就是将 RPM 包转换为 cpio 格式的命令通过 cpio 命令即可从 cpio 文件库中提取出指定文件。举个例子假设我们不小心把 /bin/ls 命令删除了通常有以下 2 种方式修复将 coreutils-8.4-19.el6.i686 包(包含 ls 命令的 RPM 包)通过 -force 选项再安装一遍使用 cpio 命令从 coreutils-8.4-19.el6.i686 包中提取出 /bin/ls 文件然后将其复制到相应位置这里我们选择第 2 种方式。有读者可能会问如何知道 ls 命令隶属于那个 RPM 包呢很简单使用 rpm -qf 命令即可如下所示[rootlocalhost ~]# rpm -qf /bin/lscoreutils-8.4-19.el6.i686#查看ls文件属于哪个软件包在此基础上我们只需从此 RPM 包使用 cpio 命令提取出 ls 命令文件然后将其复制到对应位置即可实现命令如下[rootlocalhost ~]# mv /bin/ls /root/#把/bin/ls命令移动到/root/目录下造成误删除的假象[rootlocalhost ~]# ls-bash: ls: command not found#这时执行ls命令系统会报命令没有找到错误[rootlocalhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm|cpio -idv ./bin/ls#提取ls命令文件到当前目录下[rootlocalhost ~]# cp /root/bin/ls /bin/#把提取出来的ls命令文件复制到/bin/目录下[rootlocalhost ~]#lsanaconda-ks.cfg bin inittab install.log install.log.syslog ls#可以看到ls命令又可以正常使用了example:先使用命令显示rpm包含的文件列表rpm2cpio your.rpm | cpio -t然后再显示的列表中找到你需要的文件执行如下命令rpm2cpio your.rpm | cpio -id your-file
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82701.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!