Currently I do most of my typing and coding at home on a 2010 MacBook Pro. It
is pretty good, but has the following issues:
- It’s really, cripplingly slow. It takes upwards of a minute to start Firefox,
2-3 minutes to start Excel, and even moving terminal windows has some lang.
- For programming, I just want to use terminals and the keyboard, but input lag
on keystrokes is pretty severe as welll.
- The wifi is really distracting. The internet is always troublesome.
- Because I use this computer for a bunch of other personal needs (web
browsing, spreadsheets, documents, etc), it is bloated with a bunch of
personal software which is always distracting.
- The keyboard is not my favorite compared to IBM/Lenovo keyboards. The space
key is starting to fall apart as well.
- My Lenovo X300 has a state-of-the-art (for 2008) 64GB SSD which will make
software development actually a fair bit faster than on my MacBook!
I first tried installing Ubuntu on the
/ partition.. Reasons for picking Ubuntu:
- I’d like reasonably up to date packages for development, but they don’t need
to be the latest. I do want rust and clang, among others.
- I am too old to read help threads and mess around with configuration. I need
decent QA support and stable upgrade cycles.
- It is very popular, and there’s lots of help threads.
I’ll be installing on an old Lenovo x300 that I previously ran Arch Linux on.
It works fine, but Arch is now 3+ years out of date (I haven’t used this
computer in ages). I’m terrified to think what will happen if I try to upgrade
it. Unfortunately, my Ubuntu install failed!
Notes on Ubuntu install:
- Annoyingly, Ubuntu (even Ubuntu Server, surprisingly enough) only comes on
DVD install disks nowadays. I’ll have to use the minimal CD installer since
I don’t have any blank DVDs lying around. But that’s ok because I can always
download over ethernet.
- The minimal CD install is not actually linked in the
docs but poking
around the site you can find the actual iso.
- Unfortunately, the minimal CD cannot do an EFI boot! This is a serious
limitation, because it then won’t be able to install correctly into the
existing root partition with EFI set up (from Arch). I had to abort my Ubuntu
efforts at this point.
I next tried upgrading my existing Arch system with
pacman -Syu. However,
this ran into a bunch of problems. Checking the forums, this is basically
impossible and a clean install is heavily encouraged. I was going to try that
next, but after sleeping on it (and remembering all the forums like “you should
really update your system every week”) I decided I’m too old and busy to mess
around with Arch. I slept on it at this point.
After more investigation:
- It’s difficult to tell if my existing Arch Linux boot is fully using EFI.
While the disk is definitely GPT and not MBR (based on output of
/dev/sda), there is no EFI system partition and also no BIOS boot partition.
- Some old Ubuntu directions told me to check if
/sys/firmware/efi exists but
that may be for existing Ubuntu installs. (This is not present for me.)
- I suspect my previous (Arch Linux) boot is some kind of confused hybrid
install which is confusing the Ubuntu installer.
Thinking about it, it seems like the best strategy will be to back up my data
and do a completely fresh install (rewriting the partitions and everything).
Some more misc reasons this is probably a good idea:
- My old laptop has a very small (15GB)
/ partition with the remaining space
taken up by the
/home partition, which is still only 40GB. Most of this
space is already occupied, which means it’ll be difficult to install all the
dev software I might want.
- I really don’t want to mess up the partition table and brick the laptop when
I’m installing over just the root partition. That
will be a real headache to fix afterwards.
- Most of my old data, projects etc are not relevant to the uses I plan for
this laptop. (Though of course, I should keep this for posterity!)
It turns out thumb drives nowadays are REALLY big (64GB is cheap!) so it was
straightforward to get a thumb drive and do the backup. I did the backup with
rsync -rtv --delete --size-only. (It took a long time to figure out this
command — in the process of trying to get
rsync -av to work, I ended up
deleting a lot of settings, cache files, VM images etc on the laptop.
Anyway, after that long headache, the actual from-scratch Ubuntu install was
not difficult at all.
- I chose the basic install without LVM. Reformatting and
partitioning the hard disk from scratch was, of course, trivial.
- I chose not to install automatic updates since I expect this system will
rarely be connected to the internet.
- I chose not to install any additional software in
tasksel. The minimal
system (without X, a desktop environment, or any build tools) will I think be
the best starting point for me!
- In particular, it’s impossible to bulk-uninstall metapackages, so any
mistakes will cover my system in bloat. I’ll just pick and choose.
Various AskUbuntu threads: