This is a beginner’s guide tells you what’s an Ubuntu PPA and how to manage PPAs in Ubuntu and / or Linux Mint.
What’s Ubuntu PPA?
PPA, (Personal Package Archives), usually stands for a software repository maintains the packages for Ubuntu based users. Most PPAs are hosted in launchpad.net powered by Canonical Ltd. the company behind Ubuntu.
There are tons of user-contributed software packages as well as official Ubuntu packages published in launchpad.net PPAs. Here are some of them:
- Official Firefox packages built by Ubuntu:
- Official VLC packages build by Ubuntu
- Community maintained Nvidia Drivers PPA
- LibreOffice Packaging Team PPA
You can even browse official Debian packages. For instance, official VLC package by Debian is here: https://launchpad.net/debian/+source/vlc
Some popular applications (e.g., Google Chrome, Spotify, and Oracle VirtualBox) provide official Ubuntu binary packages through their own apt repositories. Not sure whether to call them PPAs, but they work some as launchpad.net PPAs.
How does PPA work?
Launchpad.net has a few hundreds of build machines. PPA maintainers upload their software tarballs as well as the building rules. Then Launchpad will build them and publish the packages into PPAs if succeed.
Each PPA has a repository key. By adding a PPA as well as the key, Ubuntu will trust the packages from that repository. So users can install and update the packages from PPA just like regular system packages via system package manager (e.g., apt
command, synaptic
package manager) and update manager (Software Updater).
How to Add / Remove / Manage Ubuntu PPAs:
Linux command to add / remove a PPA:
Besides using a graphical application Y PPA Manager, we mostly run add-apt-repository
command to add or remove an Ubuntu PPA, as it’s the most convenient way which also handle the keys.
1. Sample command to add a PPA:
sudo add-apt-repository ppa:user_id/ppa_name
Here are the command details:
sudo
is required for root user permission. And it may ask you to type user password to confirm.add-apt-repository
is the command to add software repository, you need to follow the command with PPA name.ppa:user_id/ppa_name
is the PPA name, in whichuser_id
is the maintainer’s ID. As each maintainer can create many PPAs,ppa_name
is a certain PPA from the maintainer.
Let’s say you’re going to add LibreOffice 7.x PPA, then the command should be:
sudo add-apt-repository ppa:libreoffice/libreoffice-7-0
By going to the PPA web page (click the last link), you’ll see the things clearer.
2. Sample command to remove a PPA:
sudo add-apt-repository --remove ppa:user_id/ppa_name
You may find that it just adds --remove
to the command when adding a PPA.
And for removing LibreOffice 7.x PPA, the command should be:
sudo add-apt-repository --remove ppa:libreoffice/libreoffice-7-0
3. Sample command to purge a PPA:
Different to remove PPA, purging a PPA will also downgrade the packages installed from the PPA to the original versions. Just note it may not work if you’ve already removed the PPA.
And the command to purge the LibreOffice 7.x PPA is:
sudo ppa-purge ppa:libreoffice/libreoffice-7-0
You may first install ppa-purge
if you don’t have it:
sudo apt install ppa-purge
Graphical tool to manage PPA:
For Ubuntu users, just launch Software & Updates and navigate to Other Software tab, you’ll see all user added third-party software repositories including PPAs listed there, with buttons to add, remove, and edit them.
NOTE adding PPA via the graphical tool you need the apt line instead of the PPA name.
You need to go to PPA web page, click the link “Technical details about this PPA“, choose your Ubuntu edition and copy the repository line. You also have to download the key manually, and import it via Authentication tab.
For Linux Mint, open Software Sources utility and there’s tabs for managing Ubuntu PPAs and additional repositories.
Manage software sources via configuration files
While the main Ubuntu / Linux Mint repositories rely on /etc/apt/sources.list
file, all third-party repository files are located in /etc/apt/sources.list.d
folder.
The “file_name.list” files are for third-party software repositories, and “file_name.list.save” files are the backups.
For instance Microsoft Edge tells to adding its repository by running command in terminal:
sudo sh -c 'echo "deb [arch=amd64] http://packages.microsoft.com/repos/edge/ stable main" >> /etc/apt/sources.list.d/microsoft_edge.list'
It creates the “microsoft_edge.list” file in the /etc/apt/sources.list.d
folder and writes the apt line into it. And usually a command to download & import the GPG key will be provided.
All PPAs and third-party app sources have relevant files under that directories, you can create, edit, or remove these files to manage them and run sudo apt update
to apply changes.
Summary:
PPA, stands for (Personal Package Archives), is a way to extend your system package sources. You can either run add-apt-repository
command to add / remove PPAs, or use your Linux distribution’s own graphical utility to manage these third-party repositories. Advanced users may also edit the configuration files under /etc/apt/sources.list.d
directory.
Recent Comments