Ubuntu有没有类似于AUR(Arch User Repository)的等效物?

刚刚稍微尝试了一下Arch,其中给我留下最深印象的是AUR。有了像Yaourt这样的工具,你可以非常轻松地安装最新的软件,其中一些来自git,并且它会自动为你编译和安装。在Ubuntu上有类似的东西吗?我知道有PPA,但我不认为它们是等同的。
编辑:以下是我为什么认为PPA和AUR不同的原因:
  • PPA(个人软件包档案)提供已编译的软件包,而 AUR(Arch 用户仓库)则提供已编译和源代码软件包,以及用于在任何平台上进行编译的脚本。这意味着 PPA 需要由构建者维护,而使用 AUR 则可以在用户端构建未编译的软件包。
  • 由于 PPA 与特定的 Ubuntu 版本相关,许多 PPA 已经过时。如果 PPA 维护者将其更新到最新版本的 Ubuntu,软件包仍然可以正常工作,但通常它们会变得陈旧。有时候我不得不修改 PPA,以便继续使用在之前版本中有效的软件包。
  • 许多 PPA 在构建过程中存在问题,尽管项目本身基本稳定。我想到了 FinalTerm,它基本上可以工作,但 Ubuntu PPA 几乎从来没有通过构建,因此无法在 Ubuntu 上安装,除非手动编译。
  • PPA 似乎没有评级系统,用户无法为可靠的软件包仓库背书。我认为这种共识对于避免恶意软件和/或不可用的软件包非常有用。
  • AUR 中有大量直接来自 GitHub 的软件包,因此安装类似 something-git 的软件包通常会直接获取来自 GitHub 的最新版本。PPA 不会像这样动态更新,因此那里的软件包通常非常过时。

2我认为AUR和PPA在很大程度上是等效的。你为什么认为它们不同呢? - Rmano
1我编辑了这个问题,更详细地解释了为什么PPA与AUR不同。 - Jonathan
2除了评级系统之外,您指出的所有内容都是 Arch Build System (ABS) 的特点,而不是 AUR 本身的特点。由于 ABS 与 Debian 打包系统根本不同,我认为 AUR 的等效物不存在。 - muru
你不能安装build-essentials,然后根据项目的config,使用git clone,make和checkinstall,然后使用sudo dpkg -i安装软件包。听起来你是在说AUR会在有更新时自动重新编译?这听起来很酷。 - pbhj
AUR和PPA在它们所做的事情上相去甚远。对于每个不同的软件,都有一个不同的PPA。这是一个真正的问题,因为现在你需要上网获取PPA或AppImage的名称来获取最新版本。因此,如果你使用Debian或基于Debian的发行版,那么最好学会从源代码构建并手动安装依赖项。 - Jdeep
7个回答

是的,PPAs。这是目前最接近的选择。如果你认为它们对你来说不够等同,那么现在的答案就是“不行”。关于你所声称的差异,我有一些评论:
PPAs有编译好的软件包,而AUR既有编译好的软件包,也有源代码软件包。
PPAs也提供源代码软件包。PPA上传必须是源代码上传。用户可以访问源代码(例如他们可以自己重新构建源代码),或者从这些源代码构建的二进制文件。
由于PPAs是特定于Ubuntu版本的,所以很多PPAs已经过时了。
这是真的。然而,用户可以很容易地将一个软件包从任何PPA复制到他们自己的PPA中,甚至可以复制到不同的版本,并在复制过程中选择是否需要重新构建。请参阅软件包详细信息->复制软件包页面。如果有任何需要更新以适应新版本的内容,那么这种方法就行不通了,但我想AUR也是一样的。
就PPAs是否保持最新而言,这显然只是志愿者时间的问题(他们可以像上面那样进行复制),而不是PPAs和AUR之间的根本区别。
很多个人软件包归档(PPA)无法正确构建,即使项目基本稳定。
和上面的回答一样。这与基础设施或机制无关,而完全取决于志愿者的时间投入。
PPA似乎没有一个评级系统,让用户可以为可靠的软件包仓库背书。
同意。
有很多来自GitHub的AUR软件包,因此安装类似something-git这样的软件包通常会直接从GitHub获取最新版本。
你可以安排自动在PPA中进行这项操作,但我承认这并不是一件容易的事情。
以下是可能的方法:
1. 从Github自动导入版本控制系统(VCS)。 2. 创建构建配方
这些都不完全相同,我承认。如果你想在Ubuntu中获得更多类似ABS/AUR的功能,我认为你需要更详细地说明你的改变提议以及它们如何与Ubuntu目前的功能相结合。

老问题,过时的答案!

这里有两个备选方案供您参考:

MPR - makedeb软件包仓库

Pacstall - Ubuntu的AUR

它们都是相对较新的项目,但是Pacstall的文档比较稀缺,所以我推荐使用MPR。MPR还有安装助手(类似于AUR的),如una


AUR赢了!但你可能也会喜欢OCS-Store,你可以在那里搜索和安装来自应用类别的AppImage文件,例如Ungoogled Chromium。
对于我来说,使用大字体时,布局会出现问题,所以我必须向下滚动才能找到“安装”按钮。
为了更自动化地处理AppImage文件,请安装AppImageLauncher。
你还可以看看SnapD和SnapCraft。[通过Anbox安卓模拟器]
sudo apt install snapd

# for example ...
snap search anbox
snap install anbox
# for anbox, you also need kernel modules, see
# https://docs.anbox.io/userguide/install.html

# update $PATH and run /snap/bin/anbox
source /etc/profile.d/apps-bin-path.sh
anbox

PPA和AUR之间的主要区别在于,PPA不太可能破坏您的系统,而使用AUR时,您至少每周都会遇到破坏安装的情况。
但这也是成为Arch用户的一部分荣耀;因为嘿,如果它没有损坏,那就无法修复,如果您不学习如何修复损坏的安装,那么您就无法真正了解Linux系统的工作原理。

3这是一个非常狭隘的观点,而且真的很民粹主义。在我使用Arch多年的经验中,AUR软件包从未破坏过我的系统,也没有发生过类似的情况,我所认识的任何人也没有遇到过。 - infotoni91
我过去10年一直在使用同一个Arch系统,安装了数百个AUR软件包。偶尔会有一个AUR软件包无法构建或无法正常工作,但从未出现过“破坏我的系统”的情况。从未。 - frabjous

我有一个可以用作"AUR"的脚本。 它是https://github.com/Felipecconde/br - 一个名为"BashRun"的脚本。
这个脚本可以直接运行任何Bash脚本,只需输入一个单词(BR ID),或者您可以输入参数"-u"来通过链接运行Bash脚本。
您可以查看BashRun官方存储库(您可以使用GitHub页面上的问题页面上传自己的脚本),只需输入"br appstore"(或者直接输入"br repoappstore")。
要创建BR ID,请按照BashRun帮助屏幕上的步骤进行操作,输入"br -h"即可。
如果您能使用它并帮助该项目,我会很高兴的! :)

我想在这里添加一个答案,因为我自己也问过同样的问题!
AUR不仅类似于Ubuntu的PPA,而且还类似于APT-BUILD。AUR有一个图形界面应用程序,允许您首先搜索主要的软件仓库,如果找不到或者您更喜欢从源代码编译软件包,可以点击AUR选项卡,在那里找到软件包,进行编译,然后安装。因此,它就像我们的PPA加上APT-BUILD。
我对APT-BUILD的抱怨是,我不认为它真正接受我们在apt-build.conf中的配置。AUR将非常精细地控制CFLAGS、CXXFLAGS甚至链接器等方面。如果您问Ubuntu是否有类似AUR的东西,因为您想为我们创建一些东西,我希望您能够!我们需要超越APT-BUILD和命令行编译的东西。

类似的东西可以是https://launchpad.net/

在你注册Launchpad之后,你可以创建自己的仓库,并且可以通过apt-add-repository命令轻松地将其添加到任何Ubuntu系统中。许多有趣的项目都在私人ppa仓库上运行,有时它们提供了唯一的解决方案,以保持更新旧系统或废弃软件。当然,也有包含新版本的ppa,就像官方的Ubuntu仓库一样。(例如,我正在使用LibreOffice的ppa,它提供了该软件的每夜构建版本。)


3我不认为Launchpad PPAs与AUR有任何相似之处。我刚刚编辑了我的问题,更详细地说明了这个区别。 - Jonathan