My Ubuntu post-installation tasks
Updated December 2015.
The below lists my post-installation tasks for Ubuntu Linux. Once or twice a year I find myself needing to re-install Ubuntu, so I find maintaining a checklist that I update each time helps me go through the process more quickly. I've found that by keeping a new hard drive separated into three or four partitions (operating system, swap space, applications and data either together or split) --I can minimize the effect of an OS reinstallation, namely that just the OS partition needs to be wiped clean and reinstalled and my other two partitions will be usable as before. (Separating the application and data partitions has the additional benefit in that one may only need to back up the data partition.) Some files in the operating system partition, however, need to be re-configured after a re-install so the application partition can be working again, and I've made notes below where I've found that occurring.
I've found it too clumsy and hard to maintain a dual-boot (Windows and Ubuntu) hard drive, so I keep each on a separate SSD hard drive and swap out Ubuntu for the relatively infrequent times I need Windows. In turn, either SSD drive can be swapped between my faster desktop and slower laptop, so I can work from the former at home and switch to the latter when travelling.
The below files I keep on the data partition in a restoreFiles
separate folder, to be re-inserted into the OS partition after an OS reinstall:
- My .ssh key for GitHub
- My PGP key for Apache
- An export of my Thunderbird email filters, created by the Message Filter import/export plugin
- .sh utility scripts to I use to run applications
- Konversation IRC configuration files (konversationrc and konversation.notifyrc) located in ~/.kde/share/config.
- Personal HTML home page containing frequently used links
- Maven settings.xml file
- .gitignore_global file and .subversion folder, located in the home folder
- Within Tomcat, the JDBC drivers, the JavaMail JAR, and TightBlog and JSPWiki properties files in the lib folder and the Tomcat server.xml file.
Post-Ubuntu install Configuration Steps:
- Update Ubuntu with the latest from the 'Net:
sudo apt-get update && sudo apt-get upgrade
or via Software Updater.
- Install Skype, make sure it works using the Skype Echo/Sound Test Service
- Install HP LaserJet drivers
- Using Ubuntu Disks application, check mount point locations of the partitions created:
- Not at desired mount point location (/work for me)? See here.
- Not automatically mounted at startup? (check on subsequent boots) See here.
- Check ownership of non-OS partition:
ls -la
from /
folder, if root:root
, change to login account (sudo chown -r gmazza:gmazza work
).
- Configure Thunderbird:
- Add your mail account(s), and once done, pick desired default SMTP server.
- If you have mail filters, install the Message Filter Import/Export add-on. Import the previous message filters file and confirm the filters route to the correct mail folders.
- If you've saved your local mail files in a non-default location, right-click on Local folders, Settings, and change the directory to that location.
- If needed, create the signature lines for your email accounts.
- Files from the list at the top that need copying to home folder:
- .ssh folder
- .gnupg folder
- .bashrc folder
- .subversion folder
- .gitignore_global file
- Any custom .sh files used to start applications
- Applications that need re-installing:
sudo apt-get install git
sudo apt-get install subversion
sudo apt-get install dolphin
sudo apt-get install konversation
- Reconfigure Konversation IRC client: Start konversation to create the ~/.kde/share/config folder automatically, then move konversationrc and konversation.notifyrc files to that folder
- Install Google Chrome
- Set Firefox, Google Chrome to default home page.
- Install GitHub-Dark theme from userstyles.org.
- gedit changes:
- On the Edit->Preferences page, Disable gedit's backup copy option
and set the tab width to 4 spaces, inserting spaces for tabs.
- Configure gedit to work well with Dolphin
Create a Terminal profile (File->New Profile) named "HasTitle", based on the default profile. On Title and Command page, "When terminal commands set their own titles" item, set to "Keep initial title". This allows scripts which open multiple terminal tabs to have their tab titles kept.
Switch Dolphin to details view (Menu item View -> Adjust View Properties), and have it always use gedit to open text files (in Dolphin, right-click a text file, "Open With...Other", and then select to always use Gedit.)
Development Application installation:
- Install Oracle JDK along with unlimited encryption
- Java plugin for Firefox: follow here and here to simlink to the Java version you downloaded, and test via this link.
- Install Tomcat (and configure tomcat-users.xml file)-- test it will start with tomcat.sh script. Move the TightBlog-specific configuration files over.
- Install Maven, replace the $MAVEN_HOME/conf/settings.xml with that from the restoreFiles directory.
- Install IntelliJ IDEA
- Install Derby
- Install SquirrelSQL (need to run java -jar), and in its
lib
folder add any desired JDBC JARs.
- Update the ~/.bashrc file to include paths to the above applications and other desired configuration. Then run
source ~/.bashrc
for the
new values to take effect for the current terminal window. The below is what I add to the end of the default .bashrc file:
export JAVA_HOME=~/work/jdk1.8.0_65
export CATALINA_HOME=~/work/apache-tomcat-8.0.30
export MAVEN_HOME=~/work/apache-maven-3.3.9
export DERBY_HOME=~/work/db-derby-10.12.1.1-bin
export SQUIRREL_HOME=~/work/squirrel-sql-3.7
export IDEA_HOME=~/work/idea-IC-143.1184.17
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$DERBY_HOME/bin:$SQUIRREL_HOME:$IDEA_HOME/bin
export JAVA_OPTS="-Xmx2048M"
export MAVEN_OPTS=$JAVA_OPTS
export CATALINA_OPTS=" -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n"
# add common exclude filters to grep
alias grep='grep --color=auto --exclude-dir={.svn,target,.idea} --exclude='*.iml''
# for grep, switch from hard-to-read magenta to bright yellow (use fn=33 for dull yellow)
# see: http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
export GREP_COLORS="ms=01;31:mc=01;31:sl=:cx=:fn=01;33:ln=32:bn=32:se=36"
# (MacOS only) Show current git branch at command-line
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\]\w\[\033[01;33m\]$(__git_ps1)\[\033[01;34m\] \$\[\033[00m\] '
Source code download (need write access for these URLs):
- Apache CXF:
svn co https://svn.apache.org/repos/asf/cxf/trunk cxf
- Tightblog:
git clone git@github.com:gmazza/tightblog.git
- Jersey samples converted to CXF:
git clone git@github.com:gmazza/jersey-samples-on-cxf.git
- Blog samples:
git clone git@github.com:gmazza/blog-samples.git
Posted by Glen Mazza in Other
at 03:00AM Oct 07, 2012
| Comments[0]