Sunday, March 13, 2011

Git: upgrading to parent

I have a fork of a GIT project. The parent had got ahead of my local repro by quite a bit, so I wanted to pull in all those changes.
  • cd [child-local-dir]
  • git remote add parent [parent-url]
  • git pull parent [stable]
Clearly, if you want a different branch, you can specify that.

Once it's local, if you have a remote location for your repro (such as github) just
  • git push

Saturday, March 12, 2011

Natty install

We've moved into Alpha3 and beyond and I've been running a distribution upgrade from Maverick for a while now. So, I took the opportunity to test a clean install this morning and it's been a huge success.

  • Downloaded the alpha3 .iso and burnt it to disc.
  • Shoved it in the drive and watched it do it's stuff
  • Selected "get updates" and "install restricted drivers"
  • Before long it was installed and ready to go (am liking the new Unity interface)
Mount the various partitions. I'd previously set up my machine so that the main drive is partitioned into:
  • sda1: 50Gb - Windows
  • sda2: 50Gb - Linux
  • sda3: the rest - data
So, after doing a clean install onto sda2, I mounted sda3 to /home and another drive to /backup.
  • Create the folders that you want to mount the drives to
  • List your drives to make sure you know where they are: "sudo fdisk -l"
  • Test that they mount okay: "mount /dev/sda3 /home"
  • Add a link to /etc/fstab "/dev/sda3/ /home defaults 0 0"
  • Remove the previous mount: "sudo umount /home"
  • Use fstab to mount all: "sudo mount -a"
Install some helpful programs
  • sudo apt-get install joe guake geany gdebi
Install some programs from downloaded debs: for some reason, installing them with the software centre triggers an error in alpha, so I just used gdebi to install them and everything worked fine. With ~/.chrome unaffected by the reinstall, all the previous settings were preserved.
  • chrome
  • dropbox
  • skype
Install Crashplan (ensuring that the jre from the restricted extras in installed). Adopt the old version of the machine so that a new seed of data isn't required. Copy over CrashPlanRemote (see previous blog post).

Setup apache, PHP, mysql etc.
  • sudo apt-get install php5 apache2 mysql-server phpmyadmin
Copy over /etc/hosts and the config files from sites-available and then use "sudo a2ensite blah" to enable them; follow that with a "sudo /etc/init.d/apache2 reload" and everything should be working. Import data into mysql.

Passwordless login is key to great workflow. Because ~ was preserved (on a partition unaffected by the reinstall), my ~/.ssh directory was unchanged. So, after /etc/hosts was reinstated, passwordless login was back up and running.

All in all - a complete reinstall in less than 2 hours!