When I upgrade from 11.10 to 12.04, what's the best way to re-enable my PPAs and added repositories?
Ubuntu – What’s the best way to re-enable PPAs/repos after an upgrade
pparepositorysoftware-sources
Related Solutions
(Credit to Jorge Castro for this answer)
The Google packages install a cron job in /etc/cron.daily/
for custumizing the repository configuration and reenabling the source after a release upgrade.
Each Google package will put its own script (or a link to a script) here. For example: google-musicmanager
, google-chrome
or google-talkplugin
(the latter being a symlink to a script at /opt/google/talkplugin/cron/google-talkplugin
).
Here is the description from the google-talkplugin script:
# This script is part of the google-talkplugin package.
#
# It creates the repository configuration file for package updates, and it
# monitors that config to see if it has been disabled by the overly aggressive
# distro upgrade process (e.g. intrepid -> jaunty). When this situation is
# detected, the respository will be re-enabled. If the respository is disabled
# for any other reason, this won't re-enable it.
#
# This functionality can be controlled by creating the $DEFAULTS_FILE and
# setting "repo_add_once" and/or "repo_reenable_on_distupgrade" to "true" or
# "false" as desired. An empty $DEFAULTS_FILE is the same as setting both values
# to "false".
The script will:
# Install the repository signing key
# Update the Google repository if it's not set correctly.
# Add the Google repository to the apt sources.
# Remove our custom sources list file.
and# Detect if the repo config was disabled by distro upgrade and enable if necessary.
Here is the portion of the script that detects and reenables the repo config after a release upgrade.
handle_distro_upgrade() {
if [ ! "$REPOCONFIG" ]; then
return 0
fi
find_apt_sources
SOURCELIST="$APT_SOURCESDIR/google-talkplugin.list"
if [ -r "$SOURCELIST" ]; then
REPOLINE=$(grep -E "^[[:space:]]*#[[:space:]]*$REPOCONFIG[[:space:]]*# disabled on upgrade to .*" "$SOURCELIST")
if [ $? -eq 0 ]; then
sed -i -e "s,^[[:space:]]*#[[:space:]]*\($REPOCONFIG\)[[:space:]]*# disabled on upgrade to .*,\1," \
"$SOURCELIST"
LOGGER=$(which logger 2> /dev/null)
if [ "$LOGGER" ]; then
"$LOGGER" -t "$0" "Reverted repository modification: $REPOLINE."
fi
fi
fi
}
And here is the /etc/apt/sources.list.d/google-talkplugin.list
file that is created by the script.
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/talkplugin/deb/ stable main
If you have lots of PPAs, you may want to try a graphical "PPA Manager" to make life easier. Scroll down directly to the PPA Manager section for a recommendation.
No, there is no unofficial "PPA" software center for Ubuntu.
One of Ubuntu's primary goals is to be a stable and reliable desktop Linux for the masses. That is why the packages (and specific versions) in the Software Center/official repositories are carefully vetted and checked for stability. The official repositories (with partners, etc.) should be sufficient for the needs of most regular users.
Why? : Software from a PPA should not be blindly installed
In theory, adding even one PPA package, no matter how "trusted" the source, has the potential to break Ubuntu such that it would be beyond the capability of the average user to fix it.
Thus, installing software from a PPA has to be a conscious and considered choice:
- What am I installing?
- Why I am installing it?
- How is it going to affect my system?
Most of the answers of the type you mention -- "add this repository and install" -- WILL address these concerns for the questioner/user; those that don't are quickly edited/downvoted/commented on.
The three-step add-update-install-from-PPA process makes it more likely people will think a little about what they are doing
The "pain" of adding individual PPAs is somewhat like the "pain" of having to use sudo
instead of just being root all the time. Compared to a one-click install of unofficial packages, the terminal-based three-step process increases the chances that the user has given some thought to what he or she is doing.
Updating PPAs can take longer, because they are not mirrored
I agree that updating PPAs often takes longer for many users, because they are hosted only on launchpad.net and not mirrored. Hopefully Canonical is aware of this and is considering some kind of solution. Note that there is no intrinsic (software/design-wise) reason PPAs should take longer to update than any other repository - they have the same structure.
You can always use a PPA manager to make life easier - try Y-PPA Manager!
Managing PPAs from the command-line can become tiring; if you have three or more PPAs, I recommend you consider the Y-PPA Manager utility. You must install it from a PPA (naturally! :-), and is available as:
y-ppa-manager
inppa:webupd8team/y-ppa-manager
- It lets you search PPAs for a particular package (via Launchpad)
- And other management functions such adding, deleting, purging, etc.
Some screenshots to give you an idea:
Main Window:
Searching all PPAs for "vlc":
Listing all packages in a PPA:
For a true user-contributed "Software Center", try Arch Linux
- Other distributions which have different goals than Ubuntu and are targeted towards users more comfortable/skilled with Linux do have what you want.
- e.g. Arch Linux has a one-stop "unofficial Software Center" - it's called "Arch User Repositories" (AUR)
- Any user can contribute a package, any other user can install it (after building from source), and the community can vote on packages as a sign of trust/helpfulness. Popular, high-voted packages can even make it into their official repositories.
Related Question
- Ubuntu – Why is the google PPA reenabled after an upgrade to a new release
- Ubuntu – n “unofficial” software center with all the PPAs
- Ubuntu – Can’t re-enable PPAs long after upgrade to 12.10
- Ubuntu – How to list all the packages which are installed from PPAs
- Ubuntu – How to get a list of all packages installed from PPAs even for PPA repositories that may have been removed
Best Answer
You need to add them all back/re-enabled them individually by uncommenting the lines in the files in the
/etc/apt/sources.list.d/
directory.Though upgrade time is a good time to reevaluate if you need the PPA in the first place if you were just using one to get a newer version of a package.