Skip to content

Instantly share code, notes, and snippets.

@smoser
Created November 14, 2011 16:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smoser/1364281 to your computer and use it in GitHub Desktop.
Save smoser/1364281 to your computer and use it in GitHub Desktop.
enable multiverse in apt
#!/bin/sh -e
# vi: ts=4 noexpandtab
Usage() {
cat <<EOF
Usage: ${0##*/} [on|off]
Enable or disable multiverse in /etc/apt/sources.list
EOF
}
[ "$1" = "-h" -o "$1" = "--help" ] && { Usage; exit 0; }
rel=$(lsb_release -sc)
comp="multiverse"
pockets="\|-updates\|-security"
hashspace="^[#[:space:]]\+"
space="[[:space:]]"
target="$1"
[ -f "/etc/apt/sources.list.${0##*/}-dist" ] ||
sudo cp /etc/apt/sources.list /etc/apt/sources.list.${0##*/}-dist
case "$target" in
on|enable)
sarg="s,${hashspace}\(.*${rel}\($pockets\)$space.*$comp\),\1,";;
off|disable)
sarg="s,^deb\(.*${rel}\($pockets\)$space.*$comp\),# deb\1,";;
*) Usage 1>&2; exit 1;;
esac
sudo sed -i "$sarg" /etc/apt/sources.list
sudo apt-get update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment