20171216 difference btw built from repo and from ppa.

I have to disagree with theaccepted answerto this question. I would have written the following as a comment to that answer, but it's too lengthy.


A repository is a collection of packages, hosted on an arbitrary server.

A PPA isalsoa collection of packages, hosted on the Launchpad servers.

In particular, a PPA isnota single package, as that very ambiguously formulated point"PPAs are packages (/collections of software)."in the accepted answer may lead to believe. Additionally, apackageis not (necessarily) acollection of software, which makes that point even more confusing.

Thus, a PPA is a special kind of repository. Like a square is a special kind of rectangle.

The main difference is the hoster. Basically, if you are a programmer

and want to develop and distribute your own packages, and you have your

own root server in the Internet, you can set up your own repository on

it. Great! But what if you don't have a root server, and you don't want

to pay for one, but still want to develop and distribute your own

packages? Well, then there's Launchpad. It's offering PPAs as a service

for exactly that use case. You can basically create your own repository

on Launchpad, and manage your own packages there.

Let's have a look at an illustrating example.

First, assume you want to install theMATE Desktop Environment(a Gnome 2 fork) on Ubuntu Saucy Salamander. It is not contained in the official repos, nor do the devs maintain a PPA. Instead, they have their own repo. You could add it like so:

$ sudo add-apt-repository http://packages.mate-desktop.org/repo/ubuntu

This would result in the following entry being added to/etc/apt/sources.list:

deb http://packages.mate-desktop.org/repo/ubuntu saucy main

Second, assume you also want to have a look atCinnamon(another Gnome 2 fork). This is contained in the official repos since 13.04, but there's still a PPA maintained by the devs, useful for instance if you're interested in getting new releases quicker. You could add it like so:

$ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable

This would result in the following entry being added to/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

As you can see, the latter entry is quite similar as the one made in

point (1). In fact, both are just URLs of repositories from Ubuntu's

perspective.

In fact, you could even add the Cinnamon PPAwith the same syntax as in point (1), although this is not the typical way for adding PPAs:

$ sudo add-apt-repository http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu

This would result in the following entry being added to/etc/apt/sources.list:

deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main

This is theexact same entryas in point (2). Only the files that these entries are written to are handled slightly differently, but in the end, it makes no real difference. In both cases, you will end up with the packages from the Cinnamon PPA being available on your system, always after the canonicalsudo apt-get update, of course.

你可能感兴趣的:(20171216 difference btw built from repo and from ppa.)