我最近发布了一个回答,其中写着“添加PPA”。但是现在我意识到,我不知道“PPA”和“仓库”之间的区别。所以有人可以解释一下吗?
add-apt-repository
手册,如果使用ppa:<user>/<ppa-name>
的形式,"新添加的PPA的GPG公钥也将被下载并添加到apt的密钥环中。"我猜想如果使用URL形式,则不会发生这种情况。实际上,手册并没有告诉你可以使用类似于1和3中使用的URL形式,而是说"可以直接添加到sources.list的一行"。然而,你使用的形式似乎是有效的。 - jarnoadd-apt-repository
的 manpage 在这方面确实是不完整的。请使用 add-apt-repository --help
命令查看我在 1 和 3 中使用的 URL 格式是正确的,并且是一种有意的可选项。此外,你的假设是完全正确的:使用 URL 格式时,PPA 的 GPG 公钥将不会被添加。这是一个有用的补充,谢谢! :) 请注意,我不建议使用第 3 种描述的形式来添加 PPA。它只是作为一个示例,以显示实际上,PPA 只是一种特定类型的存储库。 - Malte Skoruppa在像Ubuntu这样的系统上,大多数软件都打包在漂亮的.deb(或者像Red Hat一样的.rpm)文件中,其中包含您所需的程序和库。这些文件可以下载或者包含在光盘中(Ubuntu的光盘上有很多这样的文件)。存储库是包含一组软件包的服务器。
个人软件包存档(PPA)允许您上传Ubuntu源代码包,由Launchpad构建并发布为一个apt存储库。
另请参阅什么是PPA以及如何使用它们? 以及维基百科。
总结:
就APT而言,存储库和PPA之间没有技术差异。它们都是软件存储库,提供软件包,从APT的角度来看,安装软件包的机制是相同的。
PPA是一个使用Launchpad作为后端的软件包存储库。它只是另一个名称,至少在原则上通常用于个人原因,它自动化了大部分您否则需要手动执行或设置自己的服务的操作。
存储库是指软件所在的地方,在这种情况下,是Debian系列发行版中的软件包列表和要安装的软件包。
您可以拥有自己的个人存储库,而无需使用Launchpad,并且可以称之为PPA,因为它是个人的。
在使用上唯一的区别仅在于add-apt-repository
的语法,它使用魔术关键字ppa:
而不是强制用户编写非Launchpad存储库所需的完整URL。
个人软件包存档(PPA)是一个特殊的软件存储库,用于上传源代码软件包,并由Launchpad或类似应用程序构建和发布为APT存储库。大多数情况下,它由非官方的Ubuntu开发者维护。