查看RPM包内容的两种方式?(rpm -ql; rpm2cpio xxx | cpio -idmv; rpm -qpl)

快速回忆命令

# 方法1
rpm2cpio nvidia-driver-local-repo-rhel8-440.95.01-1.0-1.x86_64.rpm | cpio -id -D ./outtest
或者使用idmv的参数
cpio -o > archive.cpio # -o就保存了
cpio -i < archive.cpio # -i就提取了
cpio -it < archive.cpio # -t 表示列出归档中的文件,不进行提取
# 方法2
rpm -ql xxx.rpm
rpm -qpl xxx.rpm #有些场景要加一个p

要点

  • cpio 是命令行工具,创建和管理归档文件。cpio 能够读取和写入归档文件。
  • cpio 的主要功能:创建归档(cpio -o > archive.cpio)、提取归档(cpio -i < archive.cpio)、复制文件、查看归档(cpio -it < archive.cpio
    -t 表示列出归档中的文件,不进行提取)。

rpm转化为cpio,然后cpio输出

rpm2cpio nvidia-driver-local-repo-rhel8-440.95.01-1.0-1.x86_64.rpm | cpio -id -D ./outtest

其中cpio -id < archive.cpio,的参数:-i 表示输入(提取),-d 表示创建必要的目录结构。
实操效果:
在这里插入图片描述

查看rpm包的另外一种方法 rpm -ql xxx.rpm

可以通过rpm -ql xxx.rpm查看rpm包
比如:
在这里插入图片描述

其他

  • 使用tar可以归档,为什么还要使用cpio?cpio更兼容不通平台、保留文件创建时间权限等,处理软链接比较好
  • cpio 创建归档(cpio -o > archive.cpio) # -o就保存了
  • cpio 提取归档(cpio -i < archive.cpio) # -i就提取了
  • cpio 查看归档(cpio -it < archive.cpio # -t 表示列出归档中的文件,不进行提取)。
### CentOS 8 中解压 RPM 文件的方法 在 CentOS 8 系统中,RPM 是一种常用的软件管理格式。要解压 RPM 文件而不实际安装它,可以使用 `rpm2cpio` 和 `cpio` 命令组合来提取其中的内容。 以下是具体的操作过程: #### 使用 `rpm2cpio` 和 `cpio` 提取 RPM 文件内容 1. 首先确认已安装必要的工具: ```bash yum install rpmdevtools cpio ``` 2. 创建一个工作目录用于存储解压后的文件: ```bash mkdir /tmp/rpm-extract && cd /tmp/rpm-extract ``` 3. 将 RPM 文件转换为 CPIO 流并解压到当前目录: ```bash rpm2cpio /path/to/your-package.rpm | cpio -idmv ``` 上述命令中的 `/path/to/your-package.rpm` 应替换为目标 RPM 文件的实际路径[^4]。 #### 查看解压后的文件结构 完成上述操作后,目标 RPM 内的所有文件会被解压至当前目录,并保留其原始的文件层次结构。可以通过以下命令浏览这些文件: ```bash ls -l ``` --- ### 示例代码 假设有一个名为 `example-package-1.0.0.rpm` 的 RPM 文件位于 `/home/user/packages/example-package-1.0.0.rpm` 路径下,则完整的解压流程如下所示: ```bash mkdir /tmp/example-package && cd /tmp/example-package rpm2cpio /home/user/packages/example-package-1.0.0.rpm | cpio -idmv ls -l ``` 通过此方法,能够轻松获取 RPM 内部的所有文件及其元数据信息。 --- ### 注意事项 如果仅需查看 RPM 的信息而无需解压,也可以使用以下命令: ```bash rpm -qpl /path/to/your-package.rpm ``` 该命令会列出 RPM 含的所有文件列表,但不会将其解压到磁盘上。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值