![如何重建 RPM 数据库](https://linux22.com/image/576043/%E5%A6%82%E4%BD%95%E9%87%8D%E5%BB%BA%20RPM%20%E6%95%B0%E6%8D%AE%E5%BA%93.png)
我正在尝试重建 RPM DB 文件以符合文件的新 md5sum,因此当卸载 rpm 时,这些文件仍将被删除。
我有一个使用 RPM 安装的应用程序,但升级过程不使用 RPM,而是使用补丁来应用这些文件,但在使用 rpm -e --dbpath 卸载时,已修补的文件仍然存在。有没有办法重建 rpm db 以包含这些新文件?
答案1
我认为这是不可能的。更新过程也应该使用 RPM 完成;否则,RPM 会认为文件已更改 - 尽管我猜文件仍应被删除。
您可以尝试使用以下代码:
rpm --rebuilddb
但我不知道这是否能解决问题。
您还可以尝试这样的操作来从数据库中“删除”包并手动删除文件:
rpm -e --justdb
但这可能不是你想要的。
答案2
这并不能解决眼前的问题,但是为了防止将来出现这些问题,我建议使用自定义内部存储库并重建 RPM 以包含这些文件。我对几个软件包进行了此操作,结果令人满意。