我有一个用于 USB 设备驱动程序的 RPM 包,但不存在该驱动程序的 deb 包。Alien 失败,并显示一堆错误。
很多:
error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
我听说我可以将 rpm 转换为 tar 存档,然后手动将一些文件复制到某些目录中。这是真的吗?
答案1
您始终可以使用命令将 RPM 文件转换为 DEB alien
:
$ sudo apt-get install alien
$ sudo alien my_package.rpm
$ sudo dpkg -i my_package.deb
但您有可能无法安装 DEB 包,主要是因为 RHEL 和 Debian 家族中的库名称不同。
从RPM包中提取文件,rpm2cpio
是要使用的工具。
$ sudo apt-get install rpm2cpio
$ rpm2cpio /path/to/file.rpm | cpio -i --make-directories
另外,一些用户确认file-roller
可以打开 rpm 文件
答案2
你可以使用外星人只需提取文件,而不构建 rpm;我希望它能够正常工作而不会引发错误:
alien --scripts --generate <package.rpm>
您将获得 2 个目录:
- 一个
<package>
目录,它将用来构建 .deb <package>.orig
直接从 .rpm 中提取的目录