I’ve written before (in Greek) about my woes with the pulse audio server in Ubuntu. Every time I fixed it, the whole system crumbled when I performed an update, let alone an upgrade. What I eventually did is to practically give up. I just didn’t have enough time to work on it in order to fix it. The workaround I resorted to was to keep my /home partition fully encrypted on its own partition and then everytime I wanted to upgrade to a later distribution I did a clean re-install of Ubuntu.
The drawbacks of this was that I was still spending too much time re-installing all my tools and applications from scratch. Their configurations were safe in the hidden folders in my /home directory. The process of finding everything and keeping track of what I used and manually install them was getting laborious.
So in the true linux spirit, I did what I guess anyone of you reading this post would do. I just created a small script to get me back to how my system used to be. This script will make a backup copy of the existing repository list first and then replace it will a list that will include all the necessary entries to install the software I need [File1:Lines2-3].
Then a few necessary encryption keys are installed so that certain repositories can be authenticated [File1:Lines4-8]. And from then on there’s a very long line with every single piece of binary I want installed [File1:Line10]. If I find I’m using a new application very often I will add it in the list here and add its repositories in the scripts repository list.
A few statistics packages I use are then added, as well as the libraries to decrypt and play DVDs [File1:Lines13-15].
A few screenlets I’m using are next [File1:Lines20-22].
It also gets my .rc files from github [File1:Lines26-27].
Finally it will install wine for the windows application I want to run, e.g. in this case Spotify [File1:Lines31].
And this is pretty much it. The script is kept simple so that it’s easy to extend to your needs. Just add the application’s repository in the list, add any optional keys to your keychain, and finally add the installation name of the application to the list to be installed. Conversely, just remove anything you don’t want to install.
This script is put here for anyone wanting something similar and not knowing where to start. Copy and share, no attribution needed. Also implied in this that this script comes as it is. I’m not making claims that it won’t hurt your installation. I’ve tested it on many occasions and it works. The system it’s supposed to be used anyway is a manilla one so I guess it won’t matter if you mess it up. You can just re-install it.
File1:
#!/bin/bash cp /etc/apt/sources.list /etc/apt/sources.list.bak cp maverick.sources.list /etc/apt/sources.list add-apt-repository ppa:tiheum/equinox add-apt-repository ppa:am-monkeyd/nautilus-elementary-ppa add-apt-repository ppa:bisigi/dev # Needs to change to /ppa when it's available apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2EBC26B60C5A2783 F9A2F76A9D1A0061 A040830F7FAC5991 16126D3A3E5C1192 DCF9F87B6DFBCBAE D6FDC9D0 FC5D50C5 2D9A3C5B 0AAFAD78 A69241F1 D67FC6EAE2A11821 apt-key adv --recv-keys --keyserver pgp.mit.edu 5044912E #dropbox key apt-get --yes --quiet update && apt-get --yes --quiet dist-upgrade apt-get --yes --quiet install clamav clamtk build-essential checkinstall cdbs devscripts dh-make fakeroot libxml-parser-perl check avahi-daemon sun-java6-jre sun-java6-plugin equivs vlc mplayer libxine1-ffmpeg gxine mencoder mpeg2dec vorbis-tools id3v2 mpg321 mpg123 libflac++6 ffmpeg libmp4v2-0 totem-mozilla icedax tagtool easytag id3tool lame nautilus-script-audio-convert libmad0 libjpeg-progs libquicktime1 flac faac faad sox ffmpeg2theora libmpeg2-4 uudeview flac libmpeg3-1 mpeg3-utils mpegdemux liba52-0.7.4-dev ubuntu-restricted-extras gsfonts gsfonts-x11 flashplugin-nonfree simple-ccsm wine playonlinux glipper unace rar unrar zip unzip p7zip-full p7zip-rar sharutils uudeview mpack lha arj cabextract file-roller chromium-browser chromium-browser-l10n acroread dia quanta gnome-do docky yakuake guake backintime-common backintime-gnome trash-cli git-core bisigi-themes community-themes nautilus-dropbox elementary-theme elementary-icon-theme elementary-wallpapers conky tint2 screenlets python-simplejson python-twitter compiz-fusion-plugins-extra screen zsh vim htop mutt irssi deja-dup faenza-icon-theme appmenu-gtk indicator-appmenu indicator-applet-appmenu gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-gnonlin gstreamer0.10-pitfdll gstreamer0.10-sdl gstreamer0.10-plugins-bad-multiverse gstreamer0.10-schroedinger gstreamer0.10-plugins-ugly-multiverse totem-gstreamergstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-gnonlin gstreamer0.10-pitfdll gstreamer0.10-sdl gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly-multiverse totem-gstreamer gstreamer-dbus-media-service gstreamer-tools # Statistical tools apt-get --yes --quiet install r-base-dev octave wget http://downloads.sourceforge.net/project/sofastatistics/sofastatistics/0.9.24/sofa_0.9.24-1_all.deb?r=http%3A%2F%2Fwww.sofastatistics.com%2Fdownloads.php&ts=1295372877&use_mirror=switch dpkg -i sofa_0.9.24-1_all.deb # DVD libraries apt-get --yes --quiet install libdvdread4 && /usr/share/doc/libdvdread4/./install-css.sh # Install maintenance apt-get clean apt-get autoclean apt-get autoremove # Screenlets wget http://twitterscreenlet.googlecode.com/files/TwitterScreenlet-0.3.1.tar.gz && tar vxzf TwitterScreenlet-0.3.1.tar.gz && mkdir -p ~/.screenlets && mv Twitter ~/.screenlets && rm -rf TwitterScreenlet-0.3.1.tar.gz wget http://gnome-look.org/CONTENT/content-files/102890-FolderView.tar.gz && tar vxzf 102890-FolderView.tar.gz --directory ~/.screenlets && rm -rf 102890-FolderView.tar.gz wget http://gnome-look.org/CONTENT/content-files/71034-3-pingus.tar.gz && tar vxzf 71034-3-pingus.tar.gz --directory ~/.screenlets && rm -rf 71034-3-pingus.tar.gz* #bash /usr/share/elementary-desktop/configure.sh # Elementary configuration # .rc files from repo wget -q --no-check-certificate http://github.com/cmdel/rc-configs/raw/master/.screenrc wget--no-check-certificate -q http://github.com/cmdel/rc-configs/raw/master/.zshrc # Create the file to keep all known hosts for autocomplete touch ~/.hosts # Wine configuration su - cmd -c 'winecfg && wget http://www.spotify.com/download/Spotify%20Installer.exe && wine Spotify Installer.exe' && chsh `whoami` -s /bin/zsh && exit
This is the file with the repositories that are necessary.
File2:
# Ubuntu Maverick Meerkat 10.10 Sources list # # Repository List based on standard maverick with many extra packages # # If you get errors about missing keys, lookup the key in this file # and run these commands (replace KEY with the key number): # # sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com KEY # Ubuntu supported packages deb http://fi.archive.ubuntu.com/ubuntu/ maverick main restricted multiverse universe deb http://fi.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse deb http://fi.archive.ubuntu.com/ubuntu/ maverick-updates main restricted multiverse universe deb http://security.ubuntu.com/ubuntu maverick-security main restricted universe multiverse deb http://security.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse deb-src http://fi.archive.ubuntu.com/ubuntu/ maverick main restricted multiverse universe deb-src http://fi.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse deb-src http://fi.archive.ubuntu.com/ubuntu/ maverick-updates main restricted multiverse universe deb-src http://security.ubuntu.com/ubuntu maverick-security main restricted universe multiverse deb-src http://security.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse #Canonical 'partner' Repository deb http://archive.canonical.com/ubuntu maverick partner deb http://archive.canonical.com/ubuntu maverick-backports partner deb http://archive.canonical.com/ubuntu maverick-updates partner deb http://archive.canonical.com/ubuntu maverick-security partner deb http://archive.canonical.com/ubuntu maverick-proposed partner deb-src http://archive.canonical.com/ubuntu maverick partner deb-src http://archive.canonical.com/ubuntu maverick-backports partner deb-src http://archive.canonical.com/ubuntu maverick-updates partner deb-src http://archive.canonical.com/ubuntu maverick-security partner deb-src http://archive.canonical.com/ubuntu maverick-proposed partner #Third Parties Latest Software deb http://extras.ubuntu.com/ubuntu maverick main deb-src http://extras.ubuntu.com/ubuntu maverick main #medibuntu ********* Must chage to Maverick ******* # sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2EBC26B60C5A2783 deb http://packages.medibuntu.org/ maverick free non-free deb-src http://packages.medibuntu.org/ maverick free non-free #opera # sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F9A2F76A9D1A0061 deb http://deb.opera.com/opera/ lenny non-free #google # sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A040830F7FAC5991 deb http://dl.google.com/linux/deb/ stable non-free main #Skype deb http://download.skype.com/linux/repos/debian/ stable non-free #Back in Time - deb http://ppa.launchpad.net/bit-team/stable/ubuntu maverick main deb-src http://ppa.launchpad.net/bit-team/stable/ubuntu maverick main #Dropbox deb http://linux.dropbox.com/ubuntu maverick main deb-src http://linux.dropbox.com/ubuntu maverick main # Elementary Desktop deb http://ppa.launchpad.net/elementaryart/ppa/ubuntu maverick main restricted multiverse universe deb-src http://ppa.launchpad.net/elementaryart/ppa/ubuntu maverick main restricted multiverse universe deb http://ppa.launchpad.net/elementaryart/elementarydesktop/ubuntu maverick main restricted multiverse universe deb-src http://ppa.launchpad.net/elementaryart/elementarydesktop/ubuntu maverick main restricted multiverse universe # Statistical Analysis Packages deb http://cran.stat.ucla.edu/bin/linux/ubuntu maverick main
Attributions
Image by XKCD