我最近发布了一个答案,我写了添加 PPA。但我现在意识到,我不知道PPA和存储库之间的区别是什么。所以有人可以向我解释一下吗?
Mal*_*ppa 71
我不得不不同意这个问题的公认答案。我会写以下内容作为对该答案的评论,但它太长了。
存储库是托管在任意服务器上的包的集合。
PPA也是一个包的集合,托管在 Launchpad 服务器上。
特别是,PPA不是单个包,因为表述非常含糊的点“PPA 是包(/软件集合)”。在接受的答案中可能会导致相信。此外,包(不一定)不是软件的集合,这使得这一点更加令人困惑。
因此,PPA 是一种特殊的存储库。就像正方形是一种特殊的矩形。
主要区别在于主机。基本上,如果您是一名程序员并且想要开发和分发您自己的软件包,并且您在 Internet 上拥有自己的根服务器,则可以在其上设置自己的存储库。伟大的!但是,如果您没有根服务器,并且不想为一台服务器付费,但仍想开发和分发自己的软件包怎么办?嗯,然后是 Launchpad。它正在为该用例提供 PPA 作为服务。您基本上可以在 Launchpad 上创建自己的存储库,并在那里管理您自己的包。
让我们看一个说明性的例子。
首先,假设您要在 Ubuntu Saucy Salamander 上安装MATE 桌面环境(Gnome 2 分支)。它不包含在官方存储库中,开发人员也不维护 PPA。相反,他们有自己的回购。你可以像这样添加它:
$ sudo add-apt-repository http://packages.mate-desktop.org/repo/ubuntu
Run Code Online (Sandbox Code Playgroud)
这将导致以下条目被添加到/etc/apt/sources.list
:
deb http://packages.mate-desktop.org/repo/ubuntu saucy main
Run Code Online (Sandbox Code Playgroud)
其次,假设您还想看看Cinnamon (另一个 Gnome 2 分支)。这包含在自 13.04 以来的官方存储库中,但仍有开发人员维护的 PPA,例如,如果您有兴趣更快地获得新版本,则很有用。你可以像这样添加它:
$ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
Run Code Online (Sandbox Code Playgroud)
这将导致以下条目被添加到/etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-stable-saucy.list
:
deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
Run Code Online (Sandbox Code Playgroud)
如您所见,后一个条目与第 (1) 点中的条目非常相似。事实上,从 Ubuntu 的角度来看,两者都只是存储库的 URL。
事实上,您甚至可以使用与第 (1) 点相同的语法添加 Cinnamon PPA ,尽管这不是添加 PPA 的典型方法:
$ sudo add-apt-repository http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu
Run Code Online (Sandbox Code Playgroud)
这将导致以下条目被添加到/etc/apt/sources.list
:
deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
Run Code Online (Sandbox Code Playgroud)
这与第 (2) 点中的条目完全相同。只有写入这些条目的文件的处理方式略有不同,但最终并没有真正的区别。在这两种情况下,您最终都会在您的系统上使用 Cinnamon PPA 中的软件包sudo apt-get update
,当然,总是在规范之后。
Rin*_*ind 18
在像 Ubuntu 这样的系统上,大多数软件都打包在很好的 .deb(或 .rpm,如 Red Hat)文件中,其中包含您需要的程序和库。这些文件可以下载或以 CD 形式提供(Ubuntu 的 CD 中装满了这些文件)。存储库是包含包集的服务器。
Personal Package Archives (PPA) 允许您上传 Ubuntu 源包,以便通过 Launchpad构建和发布为apt 存储库。
另请参阅什么是 PPA 以及如何使用它们? 和维基百科。
把它们加起来:
Bra*_*iam 12
就 APT 而言,存储库和 PPA 之间没有技术差异。两者都是提供包的软件存储库,从 APT 的角度来看,安装包的机制相同。
PPA 是一个使用 Launchpad 作为后端的软件包存储库。只是同一事物的另一个名称,即(至少在原则上)通常用于个人原因,它可以自动执行大多数操作,否则您必须手动执行或设置自己的服务。
存储库是有软件的地方,在这种情况下,是软件包列表和要安装在基于 Debian 的发行版中的软件包。
您可以拥有您的个人存储库,而无需使用 Launchpad,它可以称为 PPA,因为它是 Personal。
用法的唯一区别仅在于add-apt-repository
使用 magic 关键字的语法,ppa:
而不是强制用户编写非 Launchpad 存储库所需的完整 url。
小智 9
一个库是各种软件的集合使软件和apt-get,资质等,下载和安装软件的说。它们的内容可供所有人查看。阅读有关存储库的Ubuntu 帮助页面以获得启发。
PPA是软件的特殊存储库,发行版领导层尚未为整个社区采用。PPA 软件可能有缺陷,甚至可以用于恶意软件,因为它们没有像一般存储库那样被广泛审查。有关更多信息,请参阅Launchpad 对 PPA 的解释和对 PPA 的讨论。
存储库是存储或维护包以供下载或更新的地方。这些是包含包集的服务器。
一个个人包档案(PPA)是用于上载源包一个特殊的软件资源库建成并公布由启动板或APT存储库中的类似的应用。它主要由非官方 Ubuntu 开发人员维护
归档时间: |
|
查看次数: |
28413 次 |
最近记录: |