Answers:
如果要在升级或删除之前保存当前安装的软件包副本,请使用rpm --repackage
- 它会将RPM保存在/ var / tmp或/ var / spool / repackage或其他位置,具体取决于您的配置。
否则,存在rpmrebuild
,这正是你所要求的。
注意事项:使用这些工具都不会获得与*.rpm
您开始使用的工具完全相同的工具。属于该软件包的已安装文件的任何更改都将在生成的RPM中。
rpm --repackage
将Re-package the files before erasing
rpm.org/max-rpm-snapshot/rpm.8.html我几乎跑了盲目此命令,但在链接的文档看着第一。
rpm --repackage
在较新的(例如,RHEL 7)系统上似乎不可用。rpmrebuild
可以在EPEL for RHEL 7中找到并为我做了诀窍。
生成原始rpm文件是不可能的,它已被提取并可能被丢弃。rpm数据库包含有关安装的文件及其校验和,权限和postinst脚本的信息:
# verify package contents
rpm -q packagename --verify
# read the scripts that run on installation and removal
rpm -q packagename --scripts
会给你一些信息。
如果您想从存储库获取rpm,我建议使用yum-utils包中的yumdownloader。
yum install yum-utils
yumdownloader packagename
这将下载最新的rpm,而不是当前安装的rpm。