使用tar备份已安装的RPM软件包

时间:2017-05-09 12:36:25

标签: linux backup tar rpm xargs

我希望备份系统中安装的所有具有关键字 kernel 的RPM。

到目前为止,这就是我所拥有的:

RPMS=$(rpm -qa | grep kernel-firmware)

echo "$RPMS" | xargs -I '{}' rpm -ql '{}' | xargs tar cfz "$RPMS".tgz

这只适用于一个包,效果很好。当我grep 内核时,事情不能按预期工作。

我希望每个档案都包含原始包裹的名称。

修改

我还不够清楚。我正在尝试备份已安装的软件包。我没有RPM src文件也没有原始包。我希望这样做能够在内核更新后回滚一些旧机器,或者只是能够在另一台机器上移动软件包

我知道这不是正确的方法,一旦它们提取就像这样,它们不再是包,而是简单的tarball。但是,这应该足以满足我的目标。

从上面的命令中可以看出,我使用rpm -qa | grep kernel在RPM DB中查询名称中包含 kernel 的所有软件包。然后,我希望使用rpm -ql pacakge-name列出系统中的所有文件,并将它们传递给tar,以便能够轻松地将它们移动到另一台计算机上。

0 个答案:

没有答案