Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

share|improve this question
add comment

2 Answers

up vote 22 down vote accepted

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.

share|improve this answer
    
Does that mean that there is no need of ppa-purge if I use a repo to install pkg that is not available in official repo, say like "ubuntu-tweak", since there is no pkg to revert to official pkg? –  Alinwndrld Jun 19 '13 at 3:04
    
@Alinwndrld Will update answer. –  Luis Alvarado Jun 19 '13 at 3:08
1  
@LuisAlvarado Minor spelling mistake: sudo apt-get ugprade :) –  Paddy Landau Jun 25 '13 at 9:33
add comment

The apt-add-repository manpage says this about the command:

   REPOSITORY can  be  either  a  line  that  can  be  added  directly  to
   sources.list(5),  in the form ppa:<user>/<ppa-name> for adding Personal
   Package Archives, or a distribution component to enable.

   In  the   first   form,   REPOSITORY   will   just   be   appended   to
   /etc/apt/sources.list.

   In  the second form, ppa:<user>/<ppa-name> will be expanded to the full
   deb  line  of  the  PPA  and   added   into   a   new   file   in   the
   /etc/apt/sources.list.d/  directory.   The  GPG public key of the newly
   added PPA will also be downloaded and added to apt's keyring.

   In the third form, the given distribution component will be enabled for
   all sources.  

and:

-r, --remove Remove the specified repository  

So add-apt-repository just adds and removes lines from /etc/apt/sources.list and /etc/apt/sources.list.d/.

The ppa-purge manpage says this:

NAME
       ppa-purge - disables a PPA and reverts to official packages

DESCRIPTION
       This script provides a  bash  shell  script  capable  of  automatically
       downgrading all packages in a given PPA back to the ubuntu versions.

       You  have  to  run  it  using  root  privileges  because of the package
       manager.  

So ppa-purge will not only remove a PPA, it will also downgrade any packages back to their default versions. This is useful when testing beta or newer versions of software.

share|improve this answer
    
Does both remove ppa key from apt's keyring? –  Alinwndrld Jun 19 '13 at 3:04
    
@Alinwndrld It should. –  Seth Jun 19 '13 at 3:17
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.