Ubuntu Distribution Information

We have a number of Ubuntu Linux systems and I regularly find myself wanting to find out which specific distribution I have installed on a given system. While the trusty uname -a command is useful most of the time, it is unfortunately too generic in this instance and only reports version information about the Linux kernel.

However, today I discovered the lsb_release -a command which does precisely what I want. The description of this command in the man page says:

The lsb_release command provides certain LSB (Linux Standard Base) and distribution-specific information.

Here is a sample of the type of output it provides on a recently installed Ubuntu Server 8.10 system:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 8.10
Release:        8.10
Codename:       intrepid

Solaris Coolstack roadmap update

The Solaris Coolstack team have announced some important changes that impact on the future of the popular open source software stack. In a nutshell, they are combining their Cool Stack software (intended for use with Solaris 10) with their Web Stack software (intended for use for OpenSolaris) into a single software bundle, which will be known as Sun Web Stack.

Not only will this new stack be supported on Solaris 10 and OpenSolaris, but Linux support is also being added, as is full support for those using the software in production a capacity.

The first version of Sun Web Stack is scheduled for release in November 2008 and will follow the version numbering from Coolstack. Thus, the first release will be Sun Web Stack 1.4.

Source: Shanti’s Blog

Moving Times

I recently spent several hours hopping between my desk and the consoles of a number of computer systems running different operating systems (Solaris, Linux and Windows to be precise). I hadn’t yet configured remote access on these machines, hence the need to sit at the console.

Anyway, a rather curious observation was that the time on these systems was located in completely different areas. On Windows, it defaults to the bottom-right corner, Solaris defaults to the bottom-left corner and Ubuntu defaults to the upper-right corner. As I quite often don’t wear a watch, I found my eyes playing a game of Boggle every time I wanted to check the current time, a very strange experience.

Naturally, I presume I could have reconfigured the desktop(s) to show the time in the same place but it’s still interesting to wonder if this was a deliberate move on the part of each operating system vendor.

Using a different diff with Subversion

If like me, you’re not too keen on the sometimes cluttered output produced by a Subversion diff command (svn diff), here is a way to use Unix diff with Subversion instead. I’ve also used the -b parameter to ignore whitespace differences.

$ svn diff --diff-cmd diff --extensions '-b'

It looks a little messy at first but you could probably alias it quite easily using something like:

alias "svn_diff_b"="svn diff --diff-cmd diff --extensions '-b'"

in your .bashrc (or equivalent) file.

Linux /etc/bash.bashrc versus /etc/profile

The most common place that people add system-wide environment variables on Linux is in /etc/profile. However, this requires that you log out and back in again (or start another session) for these changes to take effect. Whilst this is acceptable practise for most Linux desktop developers, I find it a little tedious when working from the Linux command-line.

So, after a little probing, I discovered that you can also make system-wide changes in /etc/bash.bashrc file but can use these immediately by simply invoking a new bash session (by typing bash at the same command prompt).

Of course if you have desktop applications that require the new settings then you will still have to log out and back in again as before but, if like me, you work a lot from the command-line, then you have the added benefit of being able to use the new settings immediately.