我正在编写一个工具来验证 Python 中的 RPM 并打印出更改的文件中的实际差异。
我可以使用 .ftp 从 ftp 服务器获取 RPM ftplib。我正在考虑保存 rpm/tmp并使用subprocess模块来运行
rpm2cpio myrpmfile.rpm | cpio -idmv
Run Code Online (Sandbox Code Playgroud)
获取 RPM 中的文件,以便我可以比较这些文件。之后,我将删除临时文件。
这似乎有点 hacky,那么这是最好的方法,还是有更优雅的 Python 解决方案?
libarchive您也许可以使用支持 cpio 文件的python 接口之一。主要的似乎是libarchive和libarchive-c。RPM 还附带了一个 python 接口,但要让它做你想做的事情似乎需要做更多的工作。