SilverWav's Journal

The best is yet to come…

A Cleanstart for your new Ubuntu (Install Packages from a list)

with 13 comments

Clean Install

Each time Ubuntu brings out a new version I do a clean install.

I do this for a number of reasons, stability being the main one, but also to blow away all of the crud I have installed over the last 6 months.

If I don’t remember to reinstall it, then it wasn’t that important :-)

That said I do want my downtime to be as short as possible.

With that in mind I have a script (cleanstart-packages.list.sh) that reads a list of package names (packages.list) and installs them all at once.

As part of my preparation for the upcoming Lucid install, I have updated/retested the script and packages in a vm.

Quick Instructions and file downloads here.

______________________________

The code for the script is next, followed by my list of packages. Its simple but it does the job :-)

cleanstart-packages.list.sh

#! /bin/bash

################################################################################
# cleanstart-packages.list.sh
# by silverwav - OpenPGP key:03187548 15 Apr 2009
#
# Note this whole script just does:
#
# apt-get install -y package1 package2 package3 ...
#
# But it reads the packages from a file(packages.list) and does some checking.
#
# This turns out to be very handy as you can add notes or comment things out.
# (After 6 months its handy to have a note of what packages to reinstall and why!)
# Useful for clean installs and VMs to load optional packages quickly.
#
################################################################################
#
# Usage:
# cleanstart-packages.list.sh
# (reads a file called packages.list by default).
# or
# cleanstart-packages.list.sh <filename>
#
# Any line starting with a # is ignored as are Blank lines.
# Any other lines, the first word is taken as the package name.
#
# Stops on any error. Correct and rerun.
#
################################################################################
#
# Based on a script found on this site:
# Ubuntu TIP: Automating Package Installation – apt-get to the rescue
# http://tech.shantanugoel.com/2008/03/06/
# ubuntu-tip-automating-package-installation-%E2%80%93-apt-get-to-the-rescue.html
#
################################################################################
clear
echo "--------------------------------------------------------------------------------"
echo "                 (cleanstart) Script for installing packages (client)                 "
echo "--------------------------------------------------------------------------------"

# ensure script is run as root/sudo
if [ "$(id -u)" != "0" ]
then
	echo ""
	echo "Must execute the script as root user."
	echo "--------------------------------------------------------------------------------"
	exit 1
fi

# check the argument count
if [ $# -gt "1" ]
then
	echo ""
	echo "Only one file with package names allowed."
	echo "--------------------------------------------------------------------------------"
	exit 1
fi

################################################################################
#### Main
#### args: (1)
#### 1. [out] List of input package names
################################################################################

# package names to be installed
PACKAGE_NAME_LIST=""

# check if filename was supplied as comand line parameter
if [ $# -eq "1" ]
then
	PACKAGE_NAME_LIST=$(cat $1 | grep -v -e "^#" | cut -f1 -d' ')
else
	PACKAGE_NAME_LIST=$(cat packages.list | grep -v -e "^#" | cut -f1 -d' ')
fi

echo ""
echo "Installing packages:" ${PACKAGE_NAME_LIST}
echo "--------------------------------------------------------------------------------"

apt-get install -y ${PACKAGE_NAME_LIST}

echo ""
echo "Done"
echo "--------------------------------------------------------------------------------"

packages.list

################################################################################
#
# cleanstart-packages.list.sh
# by silverwav - OpenPGP key:03187548 15 Apr 2009
#
# Any line starting with a # is ignored as are Blank lines.
# Any other lines, the first word is taken as the package name.
#
################################################################################

# Add Repositories before you start
# Add medibuntu.org repo 1st!
# sudo wget http://www.medibuntu.org/sources.list.d/lucid.list --output-document=/etc/apt/sources.list.d/medibuntu.list
# sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update
#

#*** Extras
ubuntu-restricted-extras - Commonly used restricted packages
timer-applet - a countdown timer applet for the GNOME panel

#***VMWare
build-essential
#xinetd
#linux-headers-$(uname -r)

#***Prefernces
compizconfig-settings-manager - Compiz configuration settings manager
simple-ccsm - Simple Compizconfig settings manager
hardinfo - UNIX/Linux hardware information

#***Administration
gparted - GNOME partition editor
firestarter - gtk program for managing and observing your firewall
bum - graphical runlevel editor
nvidia-settings - Tool of configuring the NVIDIA graphics driver

#***Accessories
revelation - GNOME2 Password manager
parcellite - A lightweight GTK+ clipboard manager
pcmanfm - an extremely fast and lightweight file manager for X
gmountiso - a PyGTK GUI to mount your cd images
#xfe - lightweight file manager for X11
#gnome-commander - nice and fast file manager for the GNOME desktop

#***Accessories - Search
catfish - file search tool that support several different engines
recoll - Personal full text search package with a QT GUI

#***Accessories - Text
notecase - hierarchical note manager (aka outliner)
emacs - GNU Emacs is the extensible self-documenting text editor.
vim-gnome - Vi IMproved - enhanced vi editor - with GNOME2 GUI

#***Games
#doom-wad-shareware - Shareware game files for the 3D game DOOM
#prboom - clone of the legendary first person shooter Doom

#***Graphics
gimp - The GNU Image Manipulation Program
gthumb - an image viewer and browser
mtpaint - painting program to create pixel art and manipulate digital photos

##***Internet
pidgin - graphical multi-protocol instant messaging client for X
chromium-browser
epiphany-browser - Intuitive web browser
#***SABnzb+
sabnzbdplus
sabnzbdplus-theme-smpl

#***Office

#***Programming
geany - A fast and lightweight IDE
meld - graphical tool to diff and merge files
regexxer - A visual search and replace tool

#***Sound & Video
#Add medibuntu.org repo 1st!

#***Sound & Video - Codecs
w64codecs
libdvdcss2 - Simple foundation for reading DVDs - runtime libraries
lame - LAME Ain't an MP3 Encoder

#***Sound & Video - Player
mplayer - The Ultimate Movie Player For Linux - Medibuntu package
mplayer-fonts - Fonts for mplayer
mplayer-skin-blue - blue skin for mplayer
mplayer-skins - Skins for the Ubuntu mplayer Package
#mozilla-mplayer - MPlayer-Plugin for Mozilla
vlc - multimedia player and streamer
xine-ui - the xine video player, user interface

#***Sound & Video - DVD
acidrip - ripping and encoding DVD tool using mplayer and mencoder
audacity - A fast, cross-platform audio editor
avidemux - a free video editor - gtk version
devede - program to create video DVDs
dvd95 - DVD9 to DVD5 converter
dvdrip - perl front end for transcode
k3b - A sophisticated KDE CD burning application
k9copy - DVD backup tool for KDE
mkvtoolnix-gui - mmg a set of tools to work with Matroska files - GUI frontend

#***Sound & Video - Sound Tools
padevchooser - PulseAudio Device Chooser
pavumeter - PulseAudio Volume Meter
soundkonverter - audio converter frontend for KDE

#***System Tools
samba - a LanManager-like file and printer server for Unix
nautilus-gksu - privilege granting extension for nautilus using gksu - Open as Administrator
nautilus-open-terminal - nautilus plugin for opening terminals in arbitrary local paths
gconf-editor - An editor for the GConf configuration system
sysinfo - UNIX/Linux system information (MONO)
ttf-liberation - Free fonts with the same metrics as Times, Arial and Courier
testdrive - run the daily Ubuntu ISO in a virtual machine

Log

--------------------------------------------------------------------------------
                 (cleanstart) Script for installing packages (client)
--------------------------------------------------------------------------------

Installing packages: ubuntu-restricted-extras timer-applet build-essential compizconfig-settings-manager simple-ccsm hardinfo gparted firestarter bum nvidia-settings revelation parcellite pcmanfm gmountiso catfish recoll notecase emacs vim-gnome gimp gthumb mtpaint pidgin chromium-browser epiphany-browser sabnzbdplus sabnzbdplus-theme-smpl geany meld regexxer w64codecs libdvdcss2 lame mplayer mplayer-fonts mplayer-skin-blue mplayer-skins vlc xine-ui acidrip audacity avidemux devede dvd95 dvdrip k3b k9copy mkvtoolnix-gui padevchooser pavumeter soundkonverter samba nautilus-gksu nautilus-open-terminal gconf-editor sysinfo ttf-liberation testdrive
--------------------------------------------------------------------------------
Reading package lists...
Building dependency tree...
Reading state information...
gconf-editor is already the newest version.
ttf-liberation is already the newest version.
The following extra packages will be installed:
  akonadi-server audacity-data avidemux-common avidemux-plugins-common
  avidemux-plugins-gtk bridge-utils ca-certificates-java cabextract cdrdao
  chromium-browser-inspector cracklib-runtime dpkg-dev dvdauthor dvdrip-doc
  dvdrip-utils emacs23 emacs23-bin-common emacs23-common emacsen-common
  epiphany-browser-data exiv2 faad fakeroot ffmpeg flac flashplugin-installer
  fping freepats g++ g++-4.4 gdebi-kde gimp-data gir1.0-clutter-1.0
  gir1.0-freedesktop gir1.0-glib-2.0 gir1.0-gstreamer-0.10 gir1.0-gtk-2.0
  gnome-audio gnome-js-common gocr gstreamer0.10-ffmpeg
  gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse
  gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gthumb-data
  ia32-libs icedax icedtea-6-jre-cacao icedtea6-plugin icoutils imagemagick
  install-package java-common javascript-common k3b-data kcm-phonon-xine
  kdebase-runtime kdebase-runtime-data kdebase-workspace-bin
  kdebase-workspace-data kdebase-workspace-kgreet-plugins kdelibs-bin
  kdelibs-data kdelibs4c2a kdelibs5 kdelibs5-data kdemultimedia-kio-plugins
  kdepim-runtime kdepimlibs-data kdepimlibs5 kdesudo kpackagekit ksysguardd
  kubuntu-debug-installer lib32asound2 lib32bz2-1.0 lib32gcc1 lib32ncurses5
  lib32stdc++6 lib32v4l-0 lib32z1 liba52-0.7.4 libaccess-bridge-java
  libaccess-bridge-java-jni libaio1 libakonadiprivate1 libanyevent-perl libao2
  libass4 libasync-interrupt-perl libattica0 libaudio2 libavahi-qt3-1
  libavcodec-extra-52 libavdevice52 libavfilter0 libavformat-extra-52
  libavidemux0 libavutil-extra-49 libbabl-0.0-0 libboost-program-options1.40.0
  libboost-regex1.40.0 libc6-i386 libcdaudio1 libcddb2 libcelt0-0
  libclucene0ldbl libcommon-sense-perl libcrack2 libdbusmenu-qt2 libdc1394-22
  libdca0 libdirac-encoder0 libdvbpsi5 libdvdnav4 libdvdread4 libebml0
  libenca0 libevent-execflow-perl libevent-perl libevent-rpc-perl libexiv2-6
  libfaac0 libfaad2 libfftw3-3 libflac++6 libflite1 libgconfmm-2.6-1c2
  libgegl-0.0-0 libgimp2.0 libgirepository1.0-0 libglademm-2.4-1c2a libgme0
  libgraphviz4 libgsm1 libgtk2-ex-formfactory-perl libid3tag0 libilmbase6
  libintl-perl libio-socket-ssl-perl libiodbc2 libiptcdata0 libiso9660-7
  libjpeg-progs libjs-mochikit libk3b6 libkate1 libkcddb4 libkephal4
  libkfontinst4 libkscreensaver5 libksgrd4 libkworkspace4 liblua5.1-0 liblua50
  liblualib50 liblzma1 liblzo2-2 libmad0 libmagickcore2-extra libmatroska0
  libmimic0 libmjpegtools-1.9 libmms0 libmng1 libmodplug0c2 libmp3lame0
  libmp4v2-0 libmpcdec3 libmpeg2-4 libmysqlclient16 libnet-libidn-perl
  libnet-ssleay-perl libnetpbm10 libofa0 libopenal1 libopencore-amrnb0
  libopencore-amrwb0 libopenexr6 libopenjpeg2 liborc-0.4-0
  libpackagekit-glib2-12 libpackagekit-qt-12 libphonon4
  libplasma-applet-system-monitor4 libplasma-geolocation-interface4 libplasma3
  libplasmaclock4 libpolkit-qt-1-0 libpostproc-extra-51 libprocesscore4
  libprocessui4 libqca2 libqimageblitz4 libqt3-mt libqt4-assistant libqt4-dbus
  libqt4-designer libqt4-help libqt4-network libqt4-opengl libqt4-qt3support
  libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-svg
  libqt4-test libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4
  libquicktime1 libraptor1 librasqal2 librdf0 libreadline5 libruby1.8
  libschroedinger-1.0-0 libsdl-image1.2 libsdl1.2debian libseed0 libsidplay1
  libsolidcontrol4 libsolidcontrolifaces4 libsoprano4 libsoundtouch1c2
  libsox-fmt-alsa libsox-fmt-base libsox1a libssh-4 libstdc++6-4.4-dev
  libstreamanalyzer0 libstreams0 libsvga1 libswscale-extra-0 libtar
  libtaskmanager4 libtidy-0.99-0 libtwolame0 libupnp3 libvamp-hostsdk3
  libvcdinfo0 libvlc2 libvlccore2 libweather-ion4 libwildmidi0 libwxbase2.8-0
  libwxgtk2.8-0 libx264-67 libx264-85 libxcb-keysyms1 libxcb-shape0
  libxcb-shm0 libxcb-xv0 libxine1 libxine1-bin libxine1-console
  libxine1-ffmpeg libxine1-misc-plugins libxine1-x libxvidcore4 lsdvd mencoder
  menu mjpegtools mkvtoolnix mp3gain mplayer-nogui mppenc mysql-common
  mysql-server-core-5.1 netpbm nspluginwrapper ogmtools openjdk-6-jre
  openjdk-6-jre-headless openjdk-6-jre-lib oxygen-icon-theme packagekit
  packagekit-backend-apt paman paprefs par2 patch pavucontrol phonon
  phonon-backend-xine pidgin-data pidgin-libnotify
  plasma-dataengines-workspace plasma-scriptengine-javascript
  plasma-widgets-workspace polkit-kde-1 pulseaudio-module-zeroconf
  python-chardet python-cheetah python-cherrypy python-compizconfig
  python-configobj python-feedparser python-kde4 python-packagekit python-qt4
  python-sip python-utidylib python-yenc qemu-common qemu-kvm
  shared-desktop-ontologies software-properties-kde soprano-daemon sox speex
  subtitleripper timidity timidity-daemon transcode transcode-doc
  transcode-utils transfig ttf-dejavu ttf-dejavu-extra
  ttf-mscorefonts-installer twolame tzdata-java unrar update-manager-kde vamps
  vcdimager vim-gui-common vim-runtime virtuoso-nepomuk virtuosoconverter
  vlc-data vlc-nox vlc-plugin-pulse vorbis-tools vorbisgain wavpack
  wwwconfig-common xz-utils zsync
Suggested packages:
  ladspa-plugin strigi-daemon doodle tracker beagle chromium-browser-l10n
  debian-keyring debian-maintainers gnomebaker rar emacs23-el dhcp3-server
  xulrunner-1.9 konqueror-nsplugins msttcorefonts ttf-xfree86-nonfree xfs
  g++-multilib g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg gimp-help-en
  gimp-help libgimp-perl gimp-data-extras gnome-core xfsprogs reiserfsprogs
  reiser4progs jfsutils kpartx dmraid mesa-utils cdrkit-doc
  libterm-readline-gnu-perl libterm-readline-perl-perl imagemagick-doc
  default-jre equivs apache2 httpd k3b-extrathemes k3b-i18n normalize-audio
  movixmaker-2 libk3b6-extracodecs djvulibre-bin plasma-scriptengines
  perl-suid hspell lib32asound2-plugins libjson-perl libjson-xs-perl
  libguard-perl nas libfaad0 debhelper libfftw3-dev libintl-xs-perl
  libio-socket-inet6-perl libqca2-plugin-cyrus-sasl libqca2-plugin-gnupg
  libqca2-plugin-ossl libqca2-plugin-pkcs11 libqt3-mt-psql libqt3-mt-mysql
  libqt3-mt-odbc libqt4-dev qt4-qtconfig raptor-utils redland-utils
  librdf-storage-postgresql librdf-storage-mysql librdf-storage-sqlite
  sidplay-base xsidplay libsox-fmt-all libstdc++6-4.4-doc libgnomeprintui2.2-0
  libxine1-doc libxine-doc mplayer-doc mpeg2dec a52dec sun-java6-fonts
  ttf-sazanami-gothic ttf-kochi-gothic ttf-sazanami-mincho ttf-kochi-mincho
  ttf-wqy-zenhei ttf-telugu-fonts ttf-oriya-fonts ttf-kannada-fonts
  ttf-bengali-fonts diffutils-doc phonon-backend-gstreamer phonon-backend-vlc
  phonon-backend-mplayer python-qt4-dbg ubuntu-vm-builder kvm-pxe
  uml-utilities qemu-kvm-extras antiword catdoc libimage-exiftool-perl unrtf
  xpdf sabnzbdplus-theme-plush sabnzbdplus-theme-iphone openbsd-inetd
  inet-superserver smbldap-tools ldb-tools pmidi fluid-soundfont-gm
  fluid-soundfont-gs xvidconf xfig cscope vim-doc mozilla-plugin-vlc
  videolan-doc mysql-client postgresql-client apache apache-ssl
Recommended packages:
  slocate chromium-codecs-ffmpeg chromium-codecs-ffmpeg-nonfree head cdda2wav
The following NEW packages will be installed
  acidrip akonadi-server audacity audacity-data avidemux avidemux-common
  avidemux-plugins-common avidemux-plugins-gtk bridge-utils build-essential
  bum ca-certificates-java cabextract catfish cdrdao chromium-browser
  chromium-browser-inspector compizconfig-settings-manager cracklib-runtime
  devede dpkg-dev dvd95 dvdauthor dvdrip dvdrip-doc dvdrip-utils emacs emacs23
  emacs23-bin-common emacs23-common emacsen-common epiphany-browser
  epiphany-browser-data exiv2 faad fakeroot ffmpeg firestarter flac
  flashplugin-installer fping freepats g++ g++-4.4 gdebi-kde geany gimp
  gimp-data gir1.0-clutter-1.0 gir1.0-freedesktop gir1.0-glib-2.0
  gir1.0-gstreamer-0.10 gir1.0-gtk-2.0 gmountiso gnome-audio gnome-js-common
  gocr gparted gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad
  gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly
  gstreamer0.10-plugins-ugly-multiverse gthumb gthumb-data hardinfo ia32-libs
  icedax icedtea-6-jre-cacao icedtea6-plugin icoutils imagemagick
  install-package java-common javascript-common k3b k3b-data k9copy
  kcm-phonon-xine kdebase-runtime kdebase-runtime-data kdebase-workspace-bin
  kdebase-workspace-data kdebase-workspace-kgreet-plugins kdelibs-bin
  kdelibs-data kdelibs4c2a kdelibs5 kdelibs5-data kdemultimedia-kio-plugins
  kdepim-runtime kdepimlibs-data kdepimlibs5 kdesudo kpackagekit ksysguardd
  kubuntu-debug-installer lame lib32asound2 lib32bz2-1.0 lib32gcc1
  lib32ncurses5 lib32stdc++6 lib32v4l-0 lib32z1 liba52-0.7.4
  libaccess-bridge-java libaccess-bridge-java-jni libaio1 libakonadiprivate1
  libanyevent-perl libao2 libass4 libasync-interrupt-perl libattica0 libaudio2
  libavahi-qt3-1 libavcodec-extra-52 libavdevice52 libavfilter0
  libavformat-extra-52 libavidemux0 libavutil-extra-49 libbabl-0.0-0
  libboost-program-options1.40.0 libboost-regex1.40.0 libc6-i386 libcdaudio1
  libcddb2 libcelt0-0 libclucene0ldbl libcommon-sense-perl libcrack2
  libdbusmenu-qt2 libdc1394-22 libdca0 libdirac-encoder0 libdvbpsi5 libdvdcss2
  libdvdnav4 libdvdread4 libebml0 libenca0 libevent-execflow-perl
  libevent-perl libevent-rpc-perl libexiv2-6 libfaac0 libfaad2 libfftw3-3
  libflac++6 libflite1 libgconfmm-2.6-1c2 libgegl-0.0-0 libgimp2.0
  libgirepository1.0-0 libglademm-2.4-1c2a libgme0 libgraphviz4 libgsm1
  libgtk2-ex-formfactory-perl libid3tag0 libilmbase6 libintl-perl
  libio-socket-ssl-perl libiodbc2 libiptcdata0 libiso9660-7 libjpeg-progs
  libjs-mochikit libk3b6 libkate1 libkcddb4 libkephal4 libkfontinst4
  libkscreensaver5 libksgrd4 libkworkspace4 liblua5.1-0 liblua50 liblualib50
  liblzma1 liblzo2-2 libmad0 libmagickcore2-extra libmatroska0 libmimic0
  libmjpegtools-1.9 libmms0 libmng1 libmodplug0c2 libmp3lame0 libmp4v2-0
  libmpcdec3 libmpeg2-4 libmysqlclient16 libnet-libidn-perl libnet-ssleay-perl
  libnetpbm10 libofa0 libopenal1 libopencore-amrnb0 libopencore-amrwb0
  libopenexr6 libopenjpeg2 liborc-0.4-0 libpackagekit-glib2-12
  libpackagekit-qt-12 libphonon4 libplasma-applet-system-monitor4
  libplasma-geolocation-interface4 libplasma3 libplasmaclock4 libpolkit-qt-1-0
  libpostproc-extra-51 libprocesscore4 libprocessui4 libqca2 libqimageblitz4
  libqt3-mt libqt4-assistant libqt4-dbus libqt4-designer libqt4-help
  libqt4-network libqt4-opengl libqt4-qt3support libqt4-script
  libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-test
  libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4
  libquicktime1 libraptor1 librasqal2 librdf0 libreadline5 libruby1.8
  libschroedinger-1.0-0 libsdl-image1.2 libsdl1.2debian libseed0 libsidplay1
  libsolidcontrol4 libsolidcontrolifaces4 libsoprano4 libsoundtouch1c2
  libsox-fmt-alsa libsox-fmt-base libsox1a libssh-4 libstdc++6-4.4-dev
  libstreamanalyzer0 libstreams0 libsvga1 libswscale-extra-0 libtar
  libtaskmanager4 libtidy-0.99-0 libtwolame0 libupnp3 libvamp-hostsdk3
  libvcdinfo0 libvlc2 libvlccore2 libweather-ion4 libwildmidi0 libwxbase2.8-0
  libwxgtk2.8-0 libx264-67 libx264-85 libxcb-keysyms1 libxcb-shape0
  libxcb-shm0 libxcb-xv0 libxine1 libxine1-bin libxine1-console
  libxine1-ffmpeg libxine1-misc-plugins libxine1-x libxvidcore4 lsdvd meld
  mencoder menu mjpegtools mkvtoolnix mkvtoolnix-gui mp3gain mplayer
  mplayer-fonts mplayer-nogui mplayer-skin-blue mplayer-skins mppenc mtpaint
  mysql-common mysql-server-core-5.1 nautilus-gksu nautilus-open-terminal
  netpbm notecase nspluginwrapper nvidia-settings ogmtools openjdk-6-jre
  openjdk-6-jre-headless openjdk-6-jre-lib oxygen-icon-theme packagekit
  packagekit-backend-apt padevchooser paman paprefs par2 parcellite patch
  pavucontrol pavumeter pcmanfm phonon phonon-backend-xine pidgin pidgin-data
  pidgin-libnotify plasma-dataengines-workspace plasma-scriptengine-javascript
  plasma-widgets-workspace polkit-kde-1 pulseaudio-module-zeroconf
  python-chardet python-cheetah python-cherrypy python-compizconfig
  python-configobj python-feedparser python-kde4 python-packagekit python-qt4
  python-sip python-utidylib python-yenc qemu-common qemu-kvm recoll regexxer
  revelation sabnzbdplus sabnzbdplus-theme-smpl samba
  shared-desktop-ontologies simple-ccsm software-properties-kde soprano-daemon
  soundkonverter sox speex subtitleripper sysinfo testdrive timer-applet
  timidity timidity-daemon transcode transcode-doc transcode-utils transfig
  ttf-dejavu ttf-dejavu-extra ttf-mscorefonts-installer twolame tzdata-java
  ubuntu-restricted-extras unrar update-manager-kde vamps vcdimager vim-gnome
  vim-gui-common vim-runtime virtuoso-nepomuk virtuosoconverter vlc vlc-data
  vlc-nox vlc-plugin-pulse vorbis-tools vorbisgain w64codecs wavpack
  wwwconfig-common xine-ui xz-utils zsync
0 upgraded, 401 newly installed, 0 to remove and 0 not upgraded.
Need to get 411MB of archives.
After this operation, 1,338MB of additional disk space will be used.

Written by SilverWav

March 18, 2010 at 8:34 pm

Posted in Feature

Tagged with , , , , ,

13 Responses

Subscribe to comments with RSS.

  1. […] run cleanstart-packages.list.sh after install of Lucid to put all my packages […]

  2. Nice script, I’ll give it a try on next install
    Thanks

    Salimane Adjao Moustapha

    March 21, 2010 at 4:25 pm

    • Glad you like it – it have saved me a lot of time and encouraged me to try out new versions of Ubuntu more often.

      I sometimes clean install the RC to get used to it and report bugs.
      Then once the Final comes out clean install again.

      Having a separate home and keeping the .dot files means I don’t have to reconfigure any apps and running the script puts back all the packages I like.

      Up and running in under 30 minutes :-)

      SilverWav

      March 26, 2010 at 10:01 am

  3. Thanks for this script, just one question (can test it now) :

    Can we put several packagge to install with the same description :

    package1 package2 – great software

    VoidAndAny

    March 26, 2010 at 9:05 am

    • * The basics.
      The script just does:
      apt-get install -y package1 package2 package3 …

      * More detail.
      The script looks at each line in the list and captures the first word.
      It disregards everything else from that line.

      e.g.
      nautilus-gksu – Open as Administrator
      nautilus-open-terminal – nautilus plugin

      From these two lines the script would extract
      nautilus-gksu
      nautilus-open-terminal

      Having the same description would make no difference as they are discarded.

      If you have a package name that is repeated later in the list…

      Short answer:
      I don’t think it will matter.

      Longer answer:
      Whatever is legal for apt-get is legal for this script.

      I use TestDrive to test all is working before hitting a live box.

      So hopefully that answers your question :-)

      SilverWav

      March 26, 2010 at 9:54 am

  4. […] get it to load the vm but no big. Lucid Beta 2 Installed in the vm with no problems. Ran my package Cleanstart script and no issues so […]

  5. […] leave a comment » Full Article. […]

  6. […] This is a list of the best/most useful packages I use. Note that I have a 64bit system and Nvidia graphics. You may have to adjust the list for your system. I test it out in a vm (TestDrive) first. Details here. […]

  7. […] le deuxième point (ré-installation), il y a peu de temps je suis tombé sur cet article A Cleanstart for your new Ubuntu (Install Packages from a list) qui met a disposition un script bash pour ré-installer complétement un PC à partir d’un […]

  8. Great script.
    You should add something so you can run custom terminal commands, for packages that make you finish the “setup” after the apt-get install is finished.

    Some examples I have run into: creating users, moving/copying a directory, editing config files, linking files so one application can talk to another (had to do this manually with zoneminder and apache)

    rveach

    July 18, 2012 at 5:14 pm

  9. I keep these files on ubuntuone, to keep up with my changing configuration I try to use the script with every package install. Very useful script! Thank you.

    I made a minor change with a bit of google programming :) so it will only handle not installed packages:

    subtract() {
    echo $( fgrep -vx “${1// /$’\n’}” <<< "${2// /$'\n'}" ) ;
    }
    INSTALLED=$(dpkg –get-selections | grep "[[:space:]]install$" | cut -f1)
    PACKAGES_TO_INSTALL=($(subtract "${INSTALLED}" "${PACKAGE_NAME_LIST}"))
    #
    #
    echo ""
    echo "Installing packages:" ${PACKAGES_TO_INSTALL}
    echo "——————————————————————————–"

    apt-get install -y ${PACKAGES_TO_INSTALL}

    John

    October 27, 2013 at 9:16 am


Leave a comment