Linux RPM和YUM包管理完全指南(1)(7)
从存储库下载 RPM
尽管 yum 会自动地从存储库获取包,但是您可能希望下载并保存 RPM,比如为了在不连网的系统上安装它们、为了检查它们的内容或有其他原因。可以使用清单 25 所示的 yumdownloader 命令。对于我们的示例,这个包已经安装了,所以没有要下载的包。如果有这样的包,可以使用 --resolve 选项再次下载它们。
清单 25. 下载 gcl 包
[ian@echidna ~]$ yumdownloader --resolve gcl Loaded plugins: presto, refresh-packagekit adobe-linux-i386 17/17 --> Running transaction check ---> Package gcl.x86_64 0:2.6.8-0.7.20100201cvs.fc12 set to be updated --> Finished Dependency Resolution gcl-2.6.8-0.7.20100201cvs.fc12.x86_64.rpm | 6.3 MB 00:01 |
使用 rpm2cpio
如果下载一个 RPM,需要检查它的内容而不是安装它,可以使用 rpm2cpio 命令把内容转换为 cpio 存档,然后通过 cpio 命令提取出包中的某些或所有文件。清单 26 对 gcl-selinux 包执行转换,然后显示提取出的文件和目录)。关于 rpm2cpio 和 cpio 命令的更多信息参见它们的手册页。
清单 26. 用 rpm2cpio 提取 gcl-selinux 包
[ian@echidna ~]$ yumdownloader gcl-selinux Loaded plugins: presto, refresh-packagekit gcl-selinux-2.6.8-0.7.20100201cvs.fc12.x86_64.rpm | 17 kB 00:00 [ian@echidna ~]$ mkdir gcl-selinux [ian@echidna ~]$ cd gcl-selinux [ian@echidna gcl-selinux]$ rpm2cpio ../gcl-selinux*.rpm | cpio -idv ./usr/share/selinux/packages/gcl ./usr/share/selinux/packages/gcl/gcl.pp 182 blocks [ian@echidna gcl-selinux]$ find . . ./usr ./usr/share ./usr/share/selinux ./usr/share/selinux/packages ./usr/share/selinux/packages/gcl ./usr/share/selinux/packages/gcl/gcl.pp |
评论暂时关闭