I recently posted an answer where I wrote add the PPA. But I now realize, that I have no idea what the difference between a PPA and a Repository is. So can someone please explain it to me?
I recently posted an answer where I wrote add the PPA. But I now realize, that I have no idea what the difference between a PPA and a Repository is. So can someone please explain it to me?
In short:
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 the MATE 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:
This would result in the following entry being added to
/etc/apt/sources.list
:Second, assume you also want to have a look at Cinnamon (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:
This would result in the following entry being added to
/etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-stable-saucy.list
: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 PPA with the same syntax as in point (1), although this is not the typical way for adding PPAs:
This would result in the following entry being added to
/etc/apt/sources.list
:This is the exact same entry as 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 canonical
sudo apt-get update
, of course.Repositories
PPA
Also see What are PPAs and how do I use them? and Wikipedia.
To sum it up:
There is no technical differences between a repository and a PPA as far APT is concerned. Both are software repositories that offers packages, from APT point of view is the same mechanisms of installing packages.
PPA is a repository of packages that uses Launchpad as backend. Is just another name for the same thing, that is (at least in principle) normally used for personal reasons, which automates most operations you otherwise had to do manually or setting up your own services.
Repositories is wherever there is software, in this case, package lists and packages to be installed in Debian based distros.
You can have your personal repository, without the use of Launchpad and it could be called PPA, because is Personal.
The only difference in the usage is solely in the syntax of the
add-apt-repository
which uses the magic keywordppa:
instead of forcing the user to write the full url which is required for non Launchpad repositories.A repository is a collection of various software which enables software like apt-get, aptitude etc. to download and install said software. Their content is visible for inspection by all. Read the Ubuntu Help Page on repositories for enlightenment.
PPAs are special repositories for software which is not yet adopted for the entire community by the distro leadership. PPA software can have defects and can even be used for malware because they are not extensively reviewed as as the general repositories. For more, see Launchpad's explanation of PPAs and this discussion of PPAs.
Repository is a place where package are stored or maintained for download or update.These are servers which contain sets of packages.
A Personal Package Archive (PPA) is a special software repository for uploading source packages to be built and published as an APT repository by Launchpad or a similar application. Mostly it is maintained by people who are not official Ubuntu developer