Standarizing your multiple Linux machines for easy usage, install and upgrades.
If you’re a linux person then, hey, there’s no reason why you shouldn’t have lots of machines ;-)
I currently run:
- Dual monitor desktop in home office
- Dual monitor desktop at clients office
- Laptop
- TV room desktop attached to TV
- EEEBox in the kitchen for TV and media
- File server
With free software that runs on any old box, one tends to accumulate multiple machines, and that means more maintenance. Here are some ways to make that easy.
File Server
If you even have more than one machine in constant use on the same network, then why not turn an old clunker of a machine into a fileserver? Once installed with Ubuntu server, you don’t even need a monitor after it’s installed.. just let it sit there. Don’t consider this a hard task. The entire install of Ubuntu server including setting up a static IP etc. is all just point and click during install. It’ll only take you an hour!
- Add a megabit card for better throughput
- Old machine is fine. No really big requirements for power or ram
- RAID it if you want, or just rsync nightly to an external drive and you can stop worrying about loosing stuff on different machines
- Use NFS mounts for super fast, super reliable transfer. Don’t think twice about watching movies across the lan
- One source for all your movies, music, pics etc.
- Standardize your mounting path on all your other machines and they all just feel the same
Version control
One use of version control like git or svn is to allow multiple developers to use a central repository of code. Why not use this as a central repository of all your files that you want on your local machine, but are the same for EACH machine. This really comes into it’s own when you are also talking about machines that are NOT on the same LAN, e.g. your laptop and in my case the machine at my clients office.
SVN is pretty easy to install, and there is a site called “Google” that could no doubt help you find a free SVN repo that you can use. I use SVN to manage a directory called config in my home folder. In the repo I keep:
- txt files of stuff I forget
- Emerald theme, extra fonts, my favorite icon library
- Setup scripts
- Configuration files for apps
- My IM icons and other frequently used images
- My screenlets
- scripts that create SSHFS connects to various servers I use alot
When I install a new thing, then I grab that repo and all of a sudden I have so much of my “standard” config. I have setup scripts that do things like e.g. create symbolic links inside application directories, so that they are using my checked in standard config files. or e.g. 2 create a symbolic link from the emerald themes directory to the theme that I like best in my repo.
All the files are LOCAL - not used in the repo in real time.. it’s just that if I change one, or add something I can sync that up to the repo, then pull it down to all the other machines.
IMAP or similar
This is a bit of a no brainer. It’s 2009. Nobody should have emails locally on any specific machine anymore that can be lost. Whether that means using Google Apps with IMAP, or some other providor, or going to the next ( unnecessary ) level of using Exchange Server or Zimbra.
Setup scripts
With linux it’s really easy to automate tasks. I use setup scripts to configure specific applications, or reconfigure them to use config files in my repo, but it can be much simpler than that. e.g. I maintain a list of applications that I always install.. and have a simple script file that has all of them in an apt-get statement.
More complicated are scripts that autogenerate my /etc/hosts file including all the hosts that I have no my lan and elsewhere, and scripts that do things like tail config files ( e.g. .bashrc ) to include extra stuff I want.
This may all seem like a lot of work, but it’s worth it. If a machine goes down, I’m back up and running FULLY functionally in just over an hour. If I feel like doing a fresh install instead of an upgrade, no big deal. I love this stuff.
Jaunty Jackalone - Ubuntu 9.04 - Easy install - So easy.
So twice a year I get excited about the latest Ubuntu release and it’s that time of year again. For the past three release cycles I have treated the Release Candidate as “good to go”.
Every release of Ubuntu impresses me in one way or another, but 9.04 is for me a landmark. While the changes are subtle, this is by far the biggest leap in terms of polished and presentable.
Unlike Microsoft and Apple major releases, and this is going to mess with your brain, when a new version of Ubuntu comes out you don’t have to go and buy new hardware to keep up. Quite the opposite. The old machine in your cupboard is MORE likely to be useful again with a new version of the operating system. Wild.
8:10 in October didn’t pack a massive punch for me. Sure, it was easy to install, worked really well out of the box with little grief, but so did 8.04 in April 2008 so no big wow factor there.
What makes 9.04 so different is how it feels like it’s all grown up. Here are the highlights:
Smooth Fonts
Ubuntu has never looked so good. Font smoothing is a very subtle thing. You don’t really see it unless it’s great. That’s why a web page looks better on a Mac - but now Ubuntu is right up there.
Boot time
This is being bounced around alot - and it’s pretty darn brisk. To give an idea of performance, from grub (linux starting to come to life after the machine has found itself) to login for me is 11 seconds! That translates to about 25 or so seconds to go from power on to completely ready to work when auto-login is enabled. That’s so so fast.
Performance: EXT4 File system and video rendering
There is a feeling of overall briskness that comes with Jaunty. It’s just quick. It feels quick. Two major components of that are support for EXT4 file systems and better video rendering. I don’t have metrics, but this baby just feels BRISK.



