当前位置: 首页>>技术问答>>正文


如何安装和管理RPM?

, , ,

问题描述

我迫切希望将RPM安装到我的Ubuntu安装上 – 这可能吗?我可以使用Yum – 或其他RPM包管理工具吗?

最佳解决方案

Can I use Yum

我不推荐它。你可能可以编译它但你不会有任何Ubuntu-compatible包存储库来处理它。

您可以使用Alien将单个RPM文件转换为DEB:

sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb

注意:它可能会更改文件名,而不仅仅是扩展名。

这不适用于所有内容,因为包链接到其他包以实现依赖性。显然,Red Hat /Fedora /CentOS对Ubuntu使用不同的软件包名称,因此您可能会遇到一大堆痛苦。

如果DEB不存在,你可能会更好地获取源代码并进行编译。

次佳解决方案

你需要alien才能做到这一点。

sudo apt-get install alien

这将安装所有必需的包。现在您可以开始将.rpm文件转换为.deb包。

alien的可用选项:

将package.rpm转换为package.deb

sudo alien -d package-name.rpm

package.rpm转换为package.deb,然后安装生成的包。

alien -i package-name.rpm

如果您想让外星人更改版本号,请使用以下命令

alien -k rpm-package-file.rpm

第三种解决方案

简短的回答是,不要!

如果你有一个非常重要的RPM,你需要拥有它,那么也可能有一个Ubuntu包;并且,如果没有,可能值得经历从源代码编译到Debian包格式(Ubuntu也使用它)的麻烦。现在,有些时候你不能只重新编译软件(如果不是开源那就不可能),在这种情况下你可以使用alien程序。但是,从RPM安装有点像将柴油放入柴油车 – 它可能会起作用,但从长远来看你不会从中受益!

要从源代码构建包,Ubuntu Wiki上有a guide;还有一个名为checkinstall的程序可以使用默认的source-tree做一些技巧,而无需为程序包设置构建指令。如果您认为其他人可以从您编译的程序中受益,您可以在启动板上使用setup a repository并分享包装的优点!

第四种方案

如果你真的需要在你的系统上安装RPM,你应该尝试使用’alien’转换它们。

请记住,默认情况下,’alien’将插入包的版本号。如果您希望版本号保持不变,请在转换时传递选项’-k’。

您不应该尝试使用Yum或任何其他方式安装RPM,例如apt-rpm,它们本身就在现有的DEB包旁边。 DEB和RPM系统分别管理已安装软件的列表,因此不知道其他系统先前安装了哪些软件包。例如,如果您尝试使用RPM-based软件包管理系统安装GUI-bearing应用程序,它将尝试自行安装重要的系统组件,因为它认为它们尚未安装。这将导致安装失败,或者覆盖重要的系统文件。

第五种方案

在Repos上有一个名为SmartPM的GUI包管理器,它可以处理.deb和.RPM。 Canonical在2009年11月之前为该项目做出了贡献。

项目主页在这里是https://github.com/smartpm/smart

第六种方案

Alien是一种从一种格式(.deb或.rpm)转换为另一种格式(.deb,.rpm或tarball)的工具

不建议Alien使用从.deb转换为.rpm,它非常适合用于将.deb转换为tarball

虽然Alien试图在转换时保留meta-data,但它仍然会有Metadata&依赖性问题使得包不太可靠,因此在将来添加或删除分发包时会产生冲突。

第七种方案

实际上最短的选择是

sudo alien -i -k packagename.rpm

没有外星人吗?得到一个!

sudo apt-get install alien

Alien会将rpm包转换为deb包,-i选项意味着在转换后安装转换后的包,-k选项确保转换后版本不是+1。

第八种方案

请遵循以下说明:

alien -k avg71lms-r30-a0782.i386.rpm

现在你应该有avg71lms-r30-a0782.i386.deb文件。

要安装.deb文件:

dpkg -i avg71lms-r30-a0782.i386.deb

如果您不使用-k选项,您应该看到avg71lms_r30-1_i386.deb文件,区别在于它将添加1。

在Ubuntu中安装alien:

sudo apt-get install alien

您可以查看上面的部分以获取可用选项

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1098.html,未经允许,请勿转载。