我渴望将RPM安装到我的Ubuntu安装上-这可能吗?我可以使用Yum-或其他RPM软件包管理工具吗?
我渴望将RPM安装到我的Ubuntu安装上-这可能吗?我可以使用Yum-或其他RPM软件包管理工具吗?
Answers:
我可以用百胜餐饮
我不推荐它。您可能可以编译它,但是没有任何Ubuntu兼容的软件包存储库可以处理。
您可以使用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,则最好获取源代码并进行编译会更好。
make install
非常方便携带。能够删除软件包绝对是加号!
checkinstall
非常适合在打包环境中维护自我构建,但它确实存在一些怪癖,有时会导致某些make install
无法安装的怪癖。我会尽可能使用它。
alien --install my_package.rpm
。
error while loading shared libraries: libreadline.so.7
简短的答案是,不要!
如果您拥有一个非常重要的RPM以至于需要它,那么可能也有一个Ubuntu软件包。并且,如果不是这样,可能值得将其从源代码编译为Debian软件包格式(Ubuntu也使用)的麻烦。现在,在某些情况下,您不能只重新编译软件(如果它不是开源的,那是不可能的),在这种情况下,您可以使用该alien
程序。但是,从RPM进行安装有点像将汽油放入柴油车中-可能会起作用,但从长远来看,您不会从中受益!
要从源代码构建软件包,Ubuntu Wiki上有一个指南。还有一个名为checkinstall的程序,它可以使用默认的源树来完成一些技巧,而无需设置软件包的构建说明。如果您认为其他人可以从您编译的程序中受益,则可以在启动板上设置存储库并共享软件包的好处!
如果您确实需要在系统上安装RPM,则应确实尝试使用“异形”将其转换。
请记住,默认情况下,“ alien”将与软件包的版本号混在一起。如果希望版本号保持不变,请在转换时传递选项“ -k”。
您不应该尝试在现有DEB软件包旁边使用Yum或其他任何方式安装RPM,例如apt-rpm。DEB和RPM系统分别管理已安装软件的列表,因此不知道其他系统之前已安装了哪些软件包。例如,如果您尝试使用基于RPM的程序包管理系统安装带有GUI的应用程序,则它将尝试安装重要的系统组件本身,因为它认为尚未安装。这将导致安装严重失败,或覆盖重要的系统文件。
Repos上有一个名为SmartPM的GUI软件包管理器,它可以处理.deb和.RPM。截至2009年11月,Canonical对该项目做出了贡献。
Alien是一种从一种格式(.deb或.rpm)转换为另一种格式(.deb,.rpm或tarball)的工具
不建议Alien将.deb转换为.rpm时使用它的完美选择。
尽管Alien在转换时会尝试保留元数据,但是它仍然会存在元数据和相关性问题,这会降低程序包的可靠性,因此将来在添加或删除分发程序包时会发生冲突。
请遵循以下指示:
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
您可以检查以上部分中的可用选项
使用Alien,我可以将.rpm文件转换为.deb文件,然后简单地安装该文件。
Alien在常规的Debian存储库中可用,因此我们可以这样安装它:
sudo apt-get install alien
要将其转换为.deb包,我们只需运行
alien *.rpm
--scripts
(或-c
)的情况下转换脚本
使用Alien将rpm转换为deb,然后安装deb。
这是外星人的GUI(外星人是将rpm转换为deb的应用程序)