wissel.net

Usability - Productivity - Business - The web - Singapore & Twins

Installing additional software in Ubuntu


I'm a happy camper running Ubuntu as my main desk operating system. IBM has done a great job in providing internal repositories that add all the IBM software I would want to the Ubuntu software centre for point and click install (actually I prefer the command line with apt-get, but that usability consideration will be topic of a future post). However there is are some tools I use/evaluate that are neither in the standard Ubuntu nor in the IBM provided repositories. Ubuntu provides for independent tools or "the next version" a nice platform named LaunchPad. It hosts so called "Personal Package Archives" (PPA) that are repositories for additional software like the very useful screen shot tool Shutter. Since I help colleagues and friends to move on I keep that list of repositories close:
##############################################################################
# PPA List for Update function
# This file MUST NOT have empty lines. Lines with # in the beginning are OK
# Commented out repositories are either not yet or no longer available
##############################################################################
deb http://dl.google.com/linux/deb/ stable non-free
deb http://dl.google.com/linux/deb/ testing non-free
ppa:ailurus/ppa/ubuntu
ppa:alecive/antigone
ppa:am-monkeyd/nautilus-elementary-ppa
ppa:and471/kazam-daily-builds
#ppa:anders-kaseorg/subversion-1.6/ubuntu
ppa:banshee-team/ppa
ppa:bisigi
ppa:bisigi/ppa
ppa:bisigi/ppa/ubuntu
ppa:cardapio-team/unstable
ppa:chromium-daily/ppa/ubuntu
ppa:c-korn
ppa:compiz
ppa:cybolic/vineyard-testing
ppa:docky-core/ppa
#ppa:do-core/ppa/ubuntu
#ppa:doctormo/barry-snapshot
ppa:doctormo/ppa
ppa:drizzle-developers/ppa/ubuntu
ppa:elementaryart
ppa:elementaryart/elementarydesktop
ppa:ferramroberto/gimp
ppa:flozz/flozz
#ppa:gdm2setup/gdm2setup
ppa:geod/ppa-geod
#ppa:globalmenu-team/ubuntu
#ppa:gloobus-dev/covergloobus
ppa:gloobus-dev/gloobus-preview
#ppa:gnome-colors-packagers/ppa/ubuntu
ppa:gnome-media-player-development/development
ppa:gnomenu-team/ppa
#ppa:gtg/ppa/ubuntu
ppa:iaz/battery-status
ppa:jconti/recent-notifications
ppa:jimjimovich/starry-hope-uploader 
ppa:jkakavas/creepy
ppa:jonoomph/openshot-edge
ppa:kilian/trimage
ppa:kubuntu-ppa/backports/ubuntu
ppa:kubuntu-ppa/staging/ubuntu
ppa:libreoffice/ppa
ppa:me-davidsansome/clementine-dev
ppa:mozillateam/firefox-stable
ppa:murrine-daily/ppa
ppa:network-manager/ppa
ppa:nijel/ppa
ppa:nilarimogard/webupd8
ppa:n-muench/programs-ppa
ppa:n-muench/vlc
ppa:osmoma/audio-recorder
ppa:pdfmod-team/ppa
ppa:rabbitvcs/ppa
ppa:realtime.sunlight.wallpaper/rsw
# ppa:ricotz/testing
ppa:robert-ancell/simple-scan
ppa:rye/ubuntuone-extras
ppa:screenlets-dev/ppa
ppa:shnatsel/gimp-paint-studio
ppa:shutter/ppa/ubuntu
ppa:sikon/steadyflow
ppa:tehnick/tehnick
ppa:testdrive/ppa
ppa:tgm4883/ppa/ubuntu 
#ppa:the-board-team/dev-snapshots
ppa:tiheum/equinox
ppa:tldm217/tahutek.net
# ppa:tp-fan/ppa
ppa:tualatrix/ppa
ppa:ubuntu-packaging-guide-team/ppa
ppa:ubuntu-wine/ppa
ppa:ubuntu-x-swat/x-updates
ppa:vincent-c/nevernote
ppa:webkit-team/epiphany/ubuntu
ppa:webupd8team/themes
ppa:webupd8team/ubuntu-font-family
ppa:webupd8team/unstable
ppa:webupd8team/y-ppa-manager
# ppa:wvengen/ppa
ppa:xsisqox/ppa
ppa:zeitgeist/ppa
Using a short script all these repositories are added to your repository list and made available. Be careful! Some of the repositories contain newer releases in test form of existing applications and might break applications. I don't mind using beta software, it comes with my job, but you might and probably will mind. So I strongly recommend you exercise caution, install and use the Y-PPA Manager that makes it very easy to get rid of unwanted repositories. The bash script to read in all these:
#!/bin/bash
##############################################################################
# Adds a lot of VERY useful PPA and other repositories
# No warranties whatsoever, check carefully what reporsitories you are ready to use
# List of repositories partly suggested by http://guvnr.com/pc/lucid-repositories/
# Adding a repository doesn't install any software, but enables additional software
# sources. They can be used with apt-get and they show up in the software center
# Some minimal tools get installed for making the batch UI more workable
##############################################################################

##############################################################################
# Phase 0 - Setup the script environment, ensure all files / apps needed are there
##############################################################################

if [ [ $EUID -ne 0 ] ]; then
    echo "."
    echo "."
    echo "."      
    echo "Sorry, but the installrepositories.sh script requires to be run in super user mode."
    echo "."
    echo "."  
    echo "Use:"
    echo "sudo ./installrepositories.sh"
    echo "to run this script. You will be prompted for your password."
    echo "If you are not sure about this, view the script source and ask your Linux expert."
    echo "."  
    echo "Thank you for using this script!"
    echo "."
    echo "."      
    exit 1
fi

#Capture the current release
ubunturelease=$ (lsb_release -cs )

#Ensure we have zenity
type -P zenity &>/dev /null || { echo "I require zenity, installing it" >& 2; apt-get -fmy install zenity; }

#Check that the list of PPA repositories is there
if [ ! -e pparepositories.txt ]; then
    zenity --error --text "Sorry\!\nThe file pparepositories.txt is missing, I need that\!"
    exit 1
fi

##############################################################################
# Phase 1 - get the repositories that need to be downloaded manually and that
#           are used in that script
##############################################################################

# Ensure we have the place to put auxiliary files
if [ ! -e additionaldeb ]; then
    mkdir additionaldeb
fi

#GetDEB repositories --- great alternate source for any DEB package
if [ ! -e additionaldeb /getdeb-repository_0.1- 1~getdeb1_all.deb ]; then
    wget http: //archive.getdeb.net /install_deb /getdeb-repository_0.1- 1~getdeb1_all.deb -O additionaldeb /getdeb-repository_0.1- 1~getdeb1_all.deb
    http: //archive.getdeb.net /install_deb /playdeb_0.3- 1~getdeb1_all.deb additionaldeb /playdeb_0.3- 1~getdeb1_all.deb
    dpkg -i additionaldeb /getdeb-repository_0.1- 1~getdeb1_all.deb
    dpkg -i additionaldeb /playdeb_0.3- 1~getdeb1_all.deb
fi

# Medibuntu: Repository for Media related stuff
if [ -e /etc /apt /sources.list.d /medibuntu.list ]; then
    rm /etc /apt /sources.list.d /medibuntu.list
fi
wget --output-document= /etc /apt /sources.list.d /medibuntu.list http: //www.medibuntu.org /sources.list.d / $ubunturelease.list

#We must make sure we have apt-fast
add-apt-repository ppa:tldm217 /tahutek.net

echo run initial update
apt-get update -o Acquire::http::No-Cache=True

# After the first update we can install the mediubuntu key ring
apt-get --allow-unauthenticated install -fmy medibuntu-keyring zenity apt-fast

##############################################################################
# Phase 2 - apt-add-repository adds a lot of interesting ppa
##############################################################################

cat pparepositories.txt | while read aline; do
    if [ ! "${aline:0:1}" = "#" ] ; then
        add-apt-repository "${aline}"
    fi
done

#Now the repositories that have version specific information in them!
add-apt-repository "ppa:wvengen/ppa/ubuntu ${ubunturelease} main"

#Partner repository
add-apt-repository "deb http://archive.canonical.com/ ${ubunturelease} partner"

# Tor network
add-apt-repository "deb http://deb.torproject.org/torproject.org ${ubunturelease} main"

# Boot screen manager
add-apt-repository "deb http://www.sourceslist.eu/repo/ubuntu ${ubunturelease} main non-free"

# Nautilus-dropbox
add-apt-repository "deb http://linux.getdropbox.com/ubuntu ${ubunturelease} main"

# PlayOnLinux
add-apt-repository "deb http://deb.playonlinux.com/ ${ubunturelease} main"

# Daily is for adventurers only
# echo add-apt-repository ppa:ubuntu-mozilla-daily/ppa/ubuntu $ubunturelease main

#Final update without cache
apt-get update -o Acquire::http::No-Cache=True

###########################################
# End of the repository installer
###########################################
As usual YMMV.

Posted by on 26 April 2011 | Comments (0) | categories: Linux

Comments

  1. No comments yet, be the first to comment