Ubuntu – Difference between “ppa-purge” and “add-apt-repository -r”


What is the main difference between ppa-purge and add-apt-repository -r. Which one better clear residual items and reason to use one over another?
Does add-apt-repository -r should do what ppa-purge do?

Edit: Also do both remove key from apt's keyring?

Best Answer

For what I understand, the difference is what they do after removing the PPA.

ppa-purge - Disables a PPA and reverts to the official packages if applicable. For example, if I added the xorg-edgers PPA and installed the Nvidia drivers, if I do a ppa-purge on said PPA, it would not only disable the xorg-edgers PPA but also revert the NVIDIA drivers from the one in the PPA to the official ones found on the official Ubuntu repositories.

add-apt-repository -r - Will only remove the said PPA. Will not revert any packages.

The case scenarios might be:

  • When you want to keep a package from a PPA but want to remove the actual PPA. For example, if you wanted to add the Ubuntu Tweak Package from a PPA but then wanted to remove the PPA, you would use add-apt-repository which will leave Ubuntu Tweak installed.

  • When you want to go back to an official package and stop using a PPA that has updated/experimental packages (Like Kernel version packages, Proprietary packages...). In this cases you might want to use ppa-purge assuming your intention is to go back to the official versions. Which is the same as removing each PPA package installed and then doing:

    sudo apt-get update  
    sudo apt-get upgrade
    sudo apt-get install PACKAGES

For most cases, add-apt-repository should be enough to add and remove PPAs. The use of ppa-purge can only help in the small cases where you want to actually remove a package and install the official version which is not common since most user add a PPA to have something better than the one that comes with Ubuntu. Cases like kazam (From Kazam PPA), Proprietary Video drivers (From swat-x or xorg-edgers PPA), and even the Google Chrome and VirtualBox ones. And even if they remove it, it is only 2 or 3 commands to remove the current packages from the removed PPA and install the official ones.

With all of this in mind, it simply comes down to what the user wants to do about the packages related to the PPA.