如何定制centos extract配置方案
导读:定制 CentOS Extract 配置方案 一 明确 extract 的使用场景 在 CentOS 中,extract 并非单一的标准命令,常见有三类用法: 归档解压:使用 tar/unzip/7z 解压 .tar、.tar.gz、....
定制 CentOS Extract 配置方案
一 明确 extract 的使用场景
- 在 CentOS 中,extract 并非单一的标准命令,常见有三类用法:
- 归档解压:使用 tar/unzip/7z 解压 .tar、.tar.gz、.tar.bz2、.zip、.7z 等。
- RPM 包内容提取:使用 rpm2cpio/rpm 从 .rpm 包中抽取文件。
- YUM 插件 extract:通过 yum extract 插件直接从仓库包中提取文件到本地目录。
先确认你的场景,再选择对应工具与配置路径。
二 归档解压场景的定制要点(tar/unzip/7z)
- 常用工具与安装
- tar 通常已预装;zip/unzip 与 7-Zip 需安装:sudo yum install unzip;sudo yum install p7zip p7zip-plugins。
- 核心定制能力
- 解压到指定目录:tar 使用 -C /path;unzip 使用 -d /path;7z 使用 -o/path(注意 o 与路径之间无空格)。
- 包含/排除与模式匹配:tar 支持 –include/–exclude 与 –wildcards;unzip 支持 -x 排除;7z 支持 -x! 排除。
- 路径重写与去前缀:tar 使用 –transform ‘s,^old/,new/,’ 或 -s 进行路径重命名/去前缀。
- 权限与属主控制:tar 使用 –no-same-owner / --no-same-permissions / --numeric-owner 精细控制保留策略。
- 从清单提取:tar 使用 –files-from=filelist.txt 批量指定提取清单。
示例(tar 去外层目录并改写路径):tar -xzf app.tar.gz --strip-components=1 --transform ‘s,^app/,’ -C /opt/app。
三 RPM 包内容提取的定制要点
- 无需额外配置即可使用命令行完成提取:
- 方法 A(推荐):rpm2cpio + cpio
- rpm2cpio package.rpm | cpio -idmv ./usr/bin/your-bin
- 方法 B:rpm 直接提取
- rpm2cpio package.rpm | cpio -idv
- 方法 A(推荐):rpm2cpio + cpio
- 定制思路
- 通过 cpio 的路径过滤(例如只取 ./etc/ 或 ./usr/ 下的文件)实现“只提取部分内容”。
- 结合 find/egrep 对清单做二次筛选,再交给 cpio 提取,便于批量与可重复执行。
- 说明
- rpm 本身没有专门的 extract 配置项;如需查看与 rpm 相关的运行配置,可用 rpm --showrc 检查当前宏与配置环境。
四 YUM Extract 插件场景的定制要点
- 启用与安装
- 检查插件:rpm -q yum-plugins-core;未安装则 sudo yum install yum-plugins-core。
- 确认插件启用:查看 /etc/yum/pluginconf.d/extract.conf,确保 enabled=1。
- 基本使用与验证
- 提取包到当前目录:sudo yum extract package_name
- 验证与排错:查看 /var/log/yum.log;必要时更新插件与系统:sudo yum update yum-plugins-core。
- 说明
- 该插件提供“直接从仓库下载并提取包内容”的能力,适合快速获取某个包的文件树而不做安装。
五 可复用脚本模板与最佳实践
- 模板一(tar 精确提取并重命名)
- 用途:解压到指定目录、去外层目录、改写路径前缀。
- 命令:tar -xzf archive.tar.gz --strip-components=1 --transform ‘s,^src/,dest/,’ -C /opt/app
- 模板二(按清单提取)
- 用途:从文件清单选择性提取,便于审计与复用。
- 步骤:cat > filelist.txt < < EOF ./etc/app.conf ./usr/bin/app EOF tar -xzf app.tar.gz --files-from=filelist.txt -C /opt/app
- 模板三(RPM 定向提取)
- 用途:仅提取二进制与配置,避免文档与语言包。
- 命令:rpm2cpio pkg.rpm | cpio -idmv ./usr/bin ./etc
- 最佳实践
- 先在测试环境验证;对线上变更使用 -C 指定目标目录,避免覆盖。
- 严格控制权限:必要时使用 –no-same-owner/–no-same-permissions;跨主机部署建议 –numeric-owner。
- 大包或慢盘建议加 –checkpoint=1000 --checkpoint-action=echo 观察进度;使用 –wildcards 时加引号防止 shell 扩展。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何定制centos extract配置方案
本文地址: https://pptw.com/jishu/750178.html
