在Arch Linux上安装RPM文件?


22

我想在Arch Linux上从Oracle安装sqldeveloper。唯一的Linux下载选项是RPM。我对使用Arch存储库安装sqldeveloper不感兴趣。我只能使用供应商提供的东西。


6
AUR中的软件包 “供应商提供的”:这就是Arch上打包的工作方式。如果要使用Arch,则应该熟悉pacmanmakepkg和PKGBUILD的工作方式。
jasonwryan 2014年

1
“ AUR中的软件包是“卖方”提供的内容。人们想使用或不相信AUR都不包含的软件。我无法从Oracle / Sun安装Java 1.6.65、64位...?是的,因为Arch是滚动版本,并且不会为初学者保留以前的版本。
Zombies

Answers:


23

Jasonwryan(与往常一样)最初的评论是正确的。

Arch的软件包应该尽可能接近“香草”。现在,虽然您可以使用rpmextractalien,但实际上没有充分的理由这样做。您应该做的是创建一个PKGBUILD将RPM用作源文件的,然后将所需的所有内容安装在package()功能中应有的位置。如果不确定如何执行此操作,请查看ArchLinux用户系统信息库中的一些软件包。有很多做类似的事情。

现在,由于bsdtar(默认使用提取器在源文件上使用makepkg)支持无问题地提取RPM,因此没有使用理由rpmextract-它增加了makedependency而没有添加任何实际功能。


来自Wiki的一些相关阅读:


1
看起来rpmextractArch Linux上的最新版本只是一个包装bsdtar
sherrellbc

13
问题标题指出:在Arch Linux上安装RPM文件,而我所发现的只是普通的Arch精英回答“检查手册” /“检查那些资源”。该答案基本上告诉用户在哪里可以搜索自己的答案,而不是给出简单易懂的说明。尽管这是拱形论坛上的经典,但这与SO上的常规做法背道而驰。我想用户是否可以在拱形论坛上提出问题,如果他想要这种答案。因此,礼节要求逐字引用适用于特定答案的部分链接资源。
布雷特

1
@brett作为多年的拱门用户,我同意
Jean-Bernard Jansen

1
这个答案需要一个链接到示例PKGBUILD,这些示例采用RPM,将它们提取出来,然后将文件放在需要的地方。在这种情况下,到AUR的链接没有帮助。如果它更具体,将很有帮助。
Elijah Lynn


2

有一个叫做工具alien是可以(尝试),以建立一个debrpm。有时它起作用;有时这会弄得一团糟...充其量是一个不完善的过程。alien可以简单地将其解压缩rpmdeb格式目录中(即,除了构建之外,进行所有deb操作),您可以在其中手动安装(复制)所有内容。

另一种选择是将rpm工具安装在拱形下并强制安装rpm。这将安装它,但不是本地rpm发行版,它将不了解系统上的deb软件包。因此,满足依赖项将取决于您。另外,rc它安装的所有脚本都必须转换为systemd


我懂了。我认为某些RPM文件只是打包了二进制文件。对于sqldeveloper,我要做的就是install rpmextract。它创建了一个/opt/sqldeveloer/...[prebuilt and ready to run..... 的目录结构,但是您说的是,对于需要构建的rpm,这不是一件容易的事吗?
僵尸2014年

我的意思是alien可以将rpm转换为deb软件包-或至少尝试尝试,因为rpm可能具有复杂的安装/删除脚本。alien可以告诉您除了构建deb以外,还可以做其他所有事情,您可以在其中查看rpm试图做什么,并在构建deb之前清理它。如果rpmextract成功,那就不用担心了alien
Ricky Beam

4
也许我丢失了一些东西,但是创建deb文件似乎没有用,因为Arch Linux不使用基于deb的软件包管理器。
Wieland

tgz然后(这将是接近什么吃豆的用途,但不相同)甲deb可以很容易地使用被提取cpio。(并且tgz直接使用tar。)RPM是一个混混的cpio存档-在gzip的cpio流之前,它有一堆垃圾。
Ricky Beam

-2

我不确定这些方法是否适用于所有人,但是如果您不在乎它可能会做什么或可能不会做什么,这是最快的方法

我这样做是为了让Skype在拱形上工作,基本上是打开.rpm文件,然后看看是否可以找到一个名为“。”的文件。如果这样做,则将文件复制到“。”中。文件到您的根目录(又称“ /”)

除非您确切地知道自己在做什么,否则我不建议您这样做

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.