Thursday, 14 August 2008

Shell script to Back up critical files (using RSYNC)

Following up from my article on backing up USB drives, this recipe backs up the critical files on my desktop to remote storage (a NAS device on my network). Note that PC2 is the desktop to be backed up, SLUG1 (192.168.1.2) is the NAS device and USER1 is the user id doing the backup.

#!/bin/bash

# Backup Key PC2 files to Slug1

# Sync 2007 picture folders
##rsync -rl /home/user1/pictures/2007/  user1@192.168.1.2:/public/pictures/2007/

# Ensure that /mnt/slug1-root/ is mounted
#if [ ! -e /mnt/slug1-root/user1/backups/PC2/bin/ ]; then
#    mount-slug-root.sh
#fi
# Ensure that /media/slug1-public/ is mounted
#if [ ! -e /media/slug1-public/DISK1.txt ]; then
#    mount-slug-public.sh
#fi

# NOTE that to configure the rsync sessions on SLUG1, edit the file /opt/etc/rsyncd.conf
TOPUB='user1@192.168.1.2::public'
# Use this form if not using sessions
#TOPUB='user1@192.168.1.2:/public'
# Or use this form if the remote folder is mounted locally
#TOPUB='/media/slug1-public'
TOJK='user1@192.168.1.2::pc2'
#TOJK='user1@192.168.1.2:/user1/backups/PC2'
#TOJK='/mnt/slug1-root/user1/backups/PC2'

JKDT=`date --rfc-3339=date`
JKLOG="/home/user1/Backups/pc2backup_$JKDT.log"

echo "Starting PC2 backup at `date`" >$JKLOG
echo "=================================================================="
echo "Starting PC2 backup at `date`"
echo "The log file is at $JKLOG, all backups are to SLUG1/pc2 or SLUG1/public"
echo " "

#--out-format=FORMAT     output updates using the specified FORMAT
#--log-file=FILE         log what we're doing to the specified FILE
#--chmod=CHMOD
#--exclude=PATTERN       exclude files matching PATTERN
#     --exclude-from=FILE     read exclude patterns from FILE
#     --include=PATTERN       don't exclude files matching PATTERN
#     --include-from=FILE
#--dry-run
#OPTS='--verbose --archive --recursive --links --perms --executability --owner --group --devices --specials --times --human-readable --delete --delete-after --stats --ipv4 --progress --password-file=/home/user1/bin/tmppw.tmp --dry-run'
OPTS='--verbose --archive --recursive --links --executability --devices --specials --times --human-readable --delete --delete-after --stats --ipv4 --progress'
echo "Back up various bits - WARNING: DELETES files from destination" >>$JKLOG

RSYNC_PASSWORD=`kdialog --password "Password for jk@slug1 please:"`
#kdialog --password "Password for jk@slug1 please:" >~/tmppw.tmp

echo "Backups to SLUG1/pc2"
echo " "
# ** JK BACKUPS **
echo "user1/bin"
echo "rsync $OPTS /home/user1/bin/ $TOJK/bin/" >>$JKLOG
rsync $OPTS /home/user1/bin/ $TOJK/bin/ >>$JKLOG 2>&1
echo "=========================================" >>$JKLOG
echo "user1/backups"
echo "rsync $OPTS /home/user1/Backups/ $TOJK/Backups/" >>$JKLOG
rsync $OPTS /home/user1/Backups/ $TOJK/Backups/ >>$JKLOG 2>&1
echo "=========================================" >>$JKLOG
#echo "rsync $OPTS /home/user1/Downloads/ $TOJK/Downloads/" >>$JKLOG
#rsync $OPTS /home/user1/Downloads/ $TOJK/Downloads/ >>$JKLOG 2>&1
#echo "=========================================" >>$JKLOG

echo "Backups to SLUG1/public"
echo " "
# ** Backups to public **

echo "user1/ebooks"
echo "rsync $OPTS /home/user1/eBooks/ $TOPUB/ebooks/sorting/" >>$JKLOG
rsync $OPTS /home/user1/eBooks/ $TOPUB/ebooks/sorting/ >>$JKLOG 2>&1
echo "=========================================" >>$JKLOG

echo "user1/pictures/Lnnnn"
echo "Back up picture files - WARNING: Does NOT delete files from destination" >>$JKLOG
OPTS='--verbose --archive --recursive --links --times --human-readable --stats --ipv4'
echo "rsync $OPTS /home/user1/Pictures/L2007/ $TOPUB/pictures/2007/" >>$JKLOG
rsync $OPTS /home/user1/Pictures/L2007/ $TOPUB/pictures/2007/ >>$JKLOG 2>&1
echo "rsync $OPTS /home/user1/Pictures/L2008/ $TOPUB/pictures/2008/" >>$JKLOG
rsync $OPTS /home/user1/Pictures/L2008/ $TOPUB/pictures/2008/ >>$JKLOG 2>&1
echo "=========================================" >>$JKLOG

echo "user1/backups/usbpen1 & usbpen2"
echo "rsync $OPTS /home/user1/Backups/USBPEN1/ $TOJK/Backups/USBPEN1/" >>$JKLOG
rsync $OPTS /home/user1/Backups/USBPEN1/ $TOJK/Backups/USBPEN1/ >>$JKLOG 2>&1
echo "=========================================" >>$JKLOG
echo "rsync $OPTS /home/user1/Backups/USBPEN2/ $TOJK/Backups/USBPEN2/" >>$JKLOG
rsync $OPTS /home/user1/Backups/USBPEN2/ $TOJK/Backups/USBPEN2/ >>$JKLOG 2>&1
echo "=========================================" >>$JKLOG

echo "Google Earth places"
echo "Back up Google Earth myplaces.kml" >>$JKLOG
rsync $OPTS /home/user1/.googleearth/myplaces.kml $TOPUB/maps+walks/pc2-myplaces.kml >>$JKLOG 2>&1
echo "=========================================" >>$JKLOG

#echo '' >~/tmppw.tmp
#rm ~/tmppw.tmp

echo " "
echo "ENDING PC2 backup at `date`" >>$JKLOG
echo "ENDING PC2 backup at `date`"
echo "=================================================================="

# To run under schedule
#    Log
#    Replace password
I have a similar script that runs on the NAS device which backs key files on that to a remote hosting service on a different continent! That way, I don't have to worry about the house burning down or being burgled.

Automatically Backing up a USB Drive with RSYNC (KDE)

USB Drives of all kinds need to be backed up and the best backup is an automatic one (it's the only way to make sure that it gets done!).

So here is one recipe for doing just that using RSYNC and some BASH scripting magic.

I've split this into two files. You don't have to do this of course and one may well be better for you. I used two because I can run the second one manually as well. Put everything in autorun.sh if you want to backup each drive individually, however, note that KDE produces an annoying extra dialog (a security warning) asking if you really want to run the autorun.

  • autorun.sh This resides in the root of the USB drive and is executed automatically by KDE when the drive is detected (though not if the drive is attached when booting)
  • usb-backup-manual.sh This is a bit of a nasty hack, I have manually configured a list of drives that might be attached so that I can back them all up together. Not elegant but it works for me.

autorun.sh


#!/bin/bash

# KDE will automatically run an executable file called: .autorun, autorun or autorun.sh (in that order)
# Alternatively, a non-executable file called .autoopen or autoopen can contain a file name
# of a non-executable file on the media which will be opened with the default app for that file.
# See: http://standards.freedesktop.org/autostart-spec/autostart-spec-0.5.html#mounting

# Also see: http://b50.roxor.pl/~michal/linux/autorun.txt
# for some interesting ideas

# Where are we running from? e.g. /media/usbpen1
mediaDir=$(echo $0|sed 's/autorun//')

kdialog --title "USB Drive Backup" --yesno "I'd like to backup the USB drives, can I?"
if [ $? = 0 ]; then
echo " OK Selected, I'm going"
echo "Autobackup run: `date`" >usb-linux-auto-backup.log
exec ~/bin/usb-backup-manual.sh
else
echo " Cancel selected, so do nothing - bye."
fi

usb-backup-manual.sh


#! /bin/bash

#http://www.sanitarium.net/golug/rsync_backups.html
#http://www.mikerubel.org/computers/rsync_snapshots/
#http://rsync.samba.org/examples.html

echo "Starting USB Backup: `date`"
echo "Starting USB Backup: `date`" >~/Backups/usb-backup-manual.log

# From
MNT="/media"
# To
TO="/home/julian/Backups"

dcopRef=`kdialog --progressbar "Starting backup - press cancel to stop further processing (no next step)" 4`
dcop $dcopRef showCancelButton true

#until test "true" == `dcop $dcopRef wasCancelled`; do
for f in "CF2G1" "SD1G1" "USBPEN1" "USBPEN2"
do
dcop $dcopRef setLabel "Backing up $MNT/$f  ==>  $TO"
echo "--------------------------------------"
echo "$f  ==>  $TO"
inc=$((`dcop $dcopRef progress` + 1))
sleep 2
if [ -e $MNT/$f ]; then
  dcop $dcopRef setProgress $inc
  RSCMD="rsync --recursive --times --delete-during --stats --human-readable -h $MNT/$f $TO"
  echo $RSCMD
  echo $RSCMD  >>~/Backups/usb-backup-manual.log
  $RSCMD
  dcop $dcopRef setLabel "RSYNC for $f finished"
else
  dcop $dcopRef setProgress $inc
  dcop $dcopRef setLabel "$MNT/$f not mounted"
  echo "$MNT/$f not mounted"
  echo "$MNT/$f not mounted"  >>~/Backups/usb-backup-manual.log
fi
echo "======================================="
sleep 2
done

dcop $dcopRef close

echo "End: `date`"
echo "End: `date`" >>~/Backups/usb-backup-manual.log

Note the use of KDialog to provide a minimal GUI. In the second file, KDialog produces a progress bar.

Also note the RSYNC parameters. These are always painful to get to grips with so it is nice to have an example to work from. In this case I am backing up so I am making sure that the backup is an exact copy of the original (as opposed to synchronising which would allow changes to happen on either side).

Friday, 25 July 2008

Windows Mobile applications I use

To round off my mini-series about software I use, I thought I'd do one on Windows Mobile (AKA Pocket PC or PPC).
  • Pocket Informant
  • Keepass PPC
  • Microsoft Reader
  • MobiPocket Reader
  • PIM Backup
  • Pocket Navigator (Memory Map)
  • Laridian Pocket Bible
  • WeatherWatcher
  • Google Maps
  • Tombo
  • Tom Tom Navigator
  • SuperDoku
  • Bejeweled2
There are one or two other small utilities I also use and I have a bespoke WM6 installation that includes some tools. (NB: I'll add some links and explanations in when I get time).

Windows applications I use

Following on from my post about what stops me from dropping Windows altogether, I thought that I would put together a more complete post about the Windows applications I find myself using.
  • Memory Map - If ActiveSync is installed, the standard license allows you to push a copy of the Windows Mobile version to a handheld along with extracts of (or whole) maps, POI, routes, etc. It is also best to plan routes and add new POI on the desktop as its easier than the small interface on the handheld. There are two versions of the software. One will only run Ordnance Survey maps due to their overly restrictive license (in any other industry they wouldn't be allowed to get away with it). The other will run any map other than OS and also allows you to scan your own maps. If you buy the OS one for British maps, you can download the other from their US web site. Both can be installed at the same time and they don't seem to mind.
  • Google Sketchup
  • Laridian Pocket Bible for Windows - I generally use the Windows Mobile version of this excellent software but sometimes have the need to see larger passages, do side-by-side comparisons or write more extensive notes. The latest versions of the desktop now synchronise notes, etc.
  • MobiPocket Reader for Windows - This is able to translate ebooks from HTML and PDF into its native PRC format which is what I mainly use it for. It can push the file straight to a Windows Mobile device. It can also capture RSS feeds and do reading on the desktop.
  • ActiveSync - Yeuch! A necessary evil. The Linux sync software is notoriously difficult to get running and keep running and there are still some Windows Mobile installations that require a Windows machine with ActiveSync. It is though, the most dreadful and unstable software I use. I keep all of the options turned off so that it doesn't mess up the handheld.
  • MyMobile - This is the epitomy of a simple piece of software that just works! It allows access to the screen and keyboard of the Windows Mobile device within the desktop. Really useful if you use the phone a lot, especially as a PDA as well. It also has a file manager that is a lot faster than the ActiveSync one.
  • Microsoft Office 2007 - Although I often try to use OpenOffice for general tasks, there is no getting away from the fact that MS Office is light-years ahead in terms of features. If, like me, you rely on these for your day-to-day work then you need MS Office. I would say though that I would no longer purchase a copy for home use (not that I've ever needed to thanks to always having access to business laptops) - OpenOffice is more than sufficient for general use.
  • Internet Explorer - It is a sad fact that there are still too many web sites that require IE to work. Thankfully all of the banking and finance sites seem to have got their act together.
Well, it is still a pleasantly small list. Don't get me wrong, I am not against Windows, it's just that I like having a choice and believe that real competition is good for everyone both users and suppliers. Further, I cannot really agree with the restrictive licensing that MS are always trying to force on people given the large price they put on both the software and updates. Nor can I really agree with the stifling of innovation that is the result of overly restrictive trade practices. The competition from Linux and open source is good for the market though I would really like to see OpenOffice start to innovate more rather than trying to play catchup with Office.

Friday, 18 July 2008

Enabling VirtualBox access to USB ports (OpenSUSE 11.0)

By default, OpenSUSE 10 & 11 come preconfigured WITHOUT usbfs active. Unlike Ubuntu, everything is ready to go but the fstab setting is "noauto" so it doesn't seem to get loaded even when VirtualBox wants it.

The fix for this is simple and is listed in the VirtualBox User FAQ. In "/etc/fstab" change the line for usbfs to:


usbfs /proc/bus/usb usbfs auto,busgid=XXX,busmode=0775,devgid=XXX,devmode=0664 0 0
Where XXX is the group id of the vboxusers group which can be discovered in YAST or from the command line:

grep vboxusers /etc/group

That's it, no other changes should be needed. Now mount it with:


mount usbfs
(All of these commands and edits have to be done by root or sudo). OpenSUSE 11.0 does not automatically mount the usbfs on reboot so either do it manually after a reboot and before using VirtualBox or find a way to activate it automatically (and let me know hey? ;)

Update 2008-08-17: Thanks to "timdor" from the OpenSUSE Forums who lets me know a way of automatically mounting usbfs. "To mount usbfs at boot add 'mount usbfs' without the quote marks to /etc/init.d/boot.local". Thanks timdor.

Thursday, 17 July 2008

Font sizes and DPI

This seems to be a problem that won't go away. It seems inordinately hard to get a good looking set of fonts of the correct size. It is not that there aren't some nice fonts available; there are, at last, some fonts under Linux that often look superior to the Microsoft ones. It's just that it is difficult to get the whole look and feel correct. This is especially true when mixing Gnome based applications (Firefox and Thunderbird for example) and KDE. OpenOffice also refuses to play nicely. Anyway, grumping over, there is an excellent article on the Mozilla site about how to improve some of this by getting the correct DPI settings for your monitor (this is especially noticeable on my 24" beast!) The article is here.

Tuesday, 15 July 2008

Thoughts on OpenSUSE 11.0

Here are my experiences installing OpenSUSE 11.0 on my desktop PC (I had already successfully installed it on a VM). I opted for a KDE 3 desktop - I don't like Gnome especially and KDE 4 is not ready for day-to-day use as far as I am concerned.
  • No problems at all with mixed IDE/SATA drives and GRUB ;)
  • Usual problems with NVidia drivers (corrupt screen on first entry to KDE). But this time, I could boot into safe mode, add the NVidia repository, install the drivers and restart. Much easier than previously if still not quite perfect.
  • I did have some problems setting up two screens this time but it is the first time I've had my big monitor (24") at install time - I had to fiddle with the settings in the standard screen settings tool before I could get the NVidia settings tool to correctly recognise the size of the smaller screen.
  • I have a small issue with the NVidia drivers. I think that there is an issue with the latest drivers, I get an annoying screen blank every now and then. It is most noticable with some JavaScript enhanced web sites under FireFox for some odd reason. Under OpenSUSE 10.3, this was crashing KDE (which is why I got round to installing 11!) UPDATE 2008-07-17: This may, in the end, have been a hardware issue - I reseated the cables and everything is stable at the moment
  • YAST gets better and better. This is where you really see the benefits of being backed by a professional organisation (Novell).
  • You still can't set up a network bridge in YAST though :( However, it is easy if you follow the instructions in my previous blog entry.
  • Everything seems a bit faster though that might be down to a fresh install?
  • One thing that is massively faster is installation and update of packages - Phew! At last, one of the biggest issues with SUSE has finally been cracked. It is now very fast indeed.
  • The extra back/forward buttons on my Logitech mouse work without any additional configuration - nice touch! Though the left/right scroll still doesn't work :( UPDATE 2008-07-20: Ah ha! This one is due to an oddity in the key-mappings of the Logitech mouse that I use. Hopefully, I'll now be able to sort this out when I get a chance
  • There is still a bug in YAST that drops the default router at random. this stops Host Networking from working under VirtualBox

Linux Applications I use

Finaly got round to installing OpenSUSE 11.0 on my desktop so I thought this would be a good opportunity to keep track of the software I actually use. I'll edit and update this entry over time.

System

  • VirtualBox (virtual machine, cross platform)
  • Wine
  • TurboPrint (paid for printer driver) Makes having a Canon inkjet printer worth-while again! Rather expensive for what it does but it brings the features you would expect from a good, proprietary printer driver.
  • FireFox (web browser, cross platform) Add-ins:
    • Adblock Plus
    • CS Lite (adblock for cookies!)
    • Diigo (online bookmark and web notes site)
    • FlashBlock
    • RAMBack (Forces FF to give back some RAM)
    • Secure Login (auto populates login information - uses FF's built in security database)
    • Session Manager (FF3 now recovers crashes but this saves arbitary sessions on request plus other goodies)
    • Tab Mix Plus (perhaps a bit heavyweight but makes working with tabs vastly better than FF3's built in features) - you need the dev. build for FF3 UPDATE 2008-07-18: The dev. build is no longer valid for FF 3.0.1. I hope this gets updated soon, it really makes a differents to usability when you have many tabs open. UPDATE2: It seems as though you need to reinstall the dev build after updating to FF 3.0.1
    • Google Gears (Run web apps offline)
    Development Add-ins:
    • Firebug
    • YSlow
    Sometimes used Add-ins:
    • All-In-One Sidebar (nice but not really needed)
    • CustomizeGoogle
    • FEBE (backup FF, had some problems with it recently so I've stopped using it)
    • LinkedIn Companion for Firefox
    • PasswordExporter (Handy for backup and migration)
    • iMacros (record, write and edit macros that control the browser)
Security
  • KeepassX (password store, cross platform)
  • TrueCrypt
Office Graphics & Media
  • VLC
  • MPlayer
  • VueScan (paid for scanning software) This is an excellent if slightly expensive tool that does really high quality scanning from both flatbed and film scanners. It has its own drivers too. It can output multiple file types simultaneously including PDF and TIFF and can OCR as well. It also supports multi-pass scanning (primarily for film scanning).
Development
  • Open Komodo (editor, cross platform) Add-ins:
Games
Other
  • MemoryMap (mapping, Windows using Wine or a VM)
  • Google (Note that currently only Picassa and Desktop are in Google's SUSE repository)
    • Earth
    • Sketchup (Not often used)
All of the above are available either in the main OpenSUSE repositories or via the build service unless I've provided a link (except for plugins of course).

Monday, 14 July 2008

Flashing the BIOS from Linux (Phoenix BIOS)

I haven't looked at the BIOS on my ageing ASUS A8N-SLI motherboard for ages - in fact not since I switched it fully to Linux - so how do you update the Phoenix BIOS without DOS or Windows? I don't bother with a floppy disk any more and creating a DOS boot CD just for this once every x years job is a faff!

Well there is an article here that might help.

Hmm, apparently that article doesn't really help - except that it tells you ways to create custom bootable CD's containing DOS, the BIOS updater and the BIOS file. Ho hum, I guess I'll get round to it soon as I am looking to put a dual core Athlon in the PC which requires a new BIOS.

VirtualBox, sharing a Linux hosts file system in a Linux guest

When you want to access the hosts file system from a guest OS in VirtualBox, you need to mount the virtual share. However, the default mount:

sudo mount -t vboxsf <VBox-share-name> <mount-location>

Will mean that only root can write to the shared folders. You need to tweak things to get a system that an ordinary user can write to. Here is the script I use:


#!/bin/bash

echo " "
echo "Script to mount the host disk under VirtualBox"
echo " "

USR=`whoami`

SHARE='Host-Root'
MNT="/home/$USR/VBoxHostRoot"

echo "  Mounting $SHARE to $MNT ..."

mkdir $MNT

sudo mount -t vboxsf -o uid=$USR $SHARE $MNT

echo "  Done."
echo
You can, of course, have this mounted by the guest OS at boot time by putting an entry into /etc/fstab. Just make sure that every user that is set up has the appropriate folder created or move the folder to somewhere central and give it permissions so that all users have read/write access.

Saturday, 12 July 2008

Development Virtual Machine (VirtualBox)

I've been thinking ahead to a change of job recently. Knowing that I'll be getting a new Windows based laptop and needing to have development capabilities and having developed a taste for Linux ;)

I've used my favourite VM tool VirtualBox (now owned by Sun) to create a sparlkly new OpenSUSE 11.0 virtual machine complete with Apache, MySQL, PHP, etc. as well as office tools such as Open Office, mind/concept-mapping and diagraming applications.

Unlike the Windows XP VM that I use on my Linux desktop to give me access to Windows applications - which needs 2GB of RAM to perform nicely, the SUSE VM only needs 1GB of RAM to feel as fast (even though XP doesn't have Apache, MySQL, etc. running.

Although I've created this on my Linux desktop, it should be easy enough to transfer to my new laptop. To help keep file sizes down, I've chosen to use three virtual disks. One for SWAP, one for /home and one for the root. This will make it a bit easier to transfer back and forth if I need to - though I'll probably end up with two separate and different copies as I'm already finding that doing personal development work is much easier on the VM than it is on the host OS thanks to it being a more focused machine with less rubbish installed.

Sunday, 6 July 2008

Changing backspace to go back through history (FireFox for Linux)

Us old-time Windows bods get used to our keyboard shortcuts I'm afraid. One of the most useful is using the backspace key in the browser to go back through the browsers history. Unfortunately, this is not the default under Linux (alt-left arrow is the default). FireFox has an easy way to fix this. Put "about:config" in the address bar and "backspace" in the search entry. You should see the entry "browser.backspace_action". Change this to 0.

Friday, 4 July 2008

What did I install? (For OpenSUSE)

One thing that I didn't get around to doing since I moved from Ubuntu was to work out how to make a note of what has been installed.

This is slightly complicated by the fact that you can install stuff straight from an RPM file as well as through YAST (from the repositories or 1-click links).

Well, I finally got round to working it out and here is a summary.

To see what you have done with the YAST installers, just look at the log!

sudo cat /var/log/YaST2/y2logRPM | more

But to get everything, use the raw RPM commands:

These commands show the last installed rpm packages


rpm -qa --last | more
Grep for a date:

rpm -qa --last | grep "Sun 23 Mar 2008"
Dont forget that grep takes regex's

rpm -qa --last | grep ^kde
Another way:

rpm -qa --queryformat '%{NAME} - INSTALLED - %{INSTALLTIME:date}\n'
Or maybe:

rpm -qa --queryformat '%{installtime} %{name}-%{version}-%{release} %{installtime:date}\n' | sort -nr +0 | sed -e 's/^[^ ]* //'

UPDATE 2008-07-18: I don't know if this feature was available prior to OpenSUSE 11.0 but you can now use the Software Management tool in YAST to generate a nice, XML list of all installed packages. Switch the filter to "Repositories" and select the "@System" repo. Then choose the menu "File/Export". Very useful.

Wednesday, 2 July 2008

What Linux system files might need editing?

Whilst great strides have been made by the Linux community to provide GUI's for many tasks, it is still a command line driven OS at it's heart. This, of course, is one of its strengths as everything can be scripted too. However, for none IT techies, it is very daunting.

Here I'm listing some of the system files I've had (or at least wanted) to change by hand. It's a very quick reference, largely for my own benefit should I need to rebuild my system.

  • /etc/X11/xorg.conf Even now you might need to hand crank this file to get all of the settings you need
  • /etc/bash.bashrc.local SUSE does not include /sbin in the default path
  • /etc/cups/cupsd.conf Printer server subsystem (CUPS) configuration - may need to tweak the access permissions
  • /etc/cups/mime.types Added some stuff to speed up printing from the FireFox web browser. See the article on Google Answers for details
  • /etc/fstab What and how disk partitions get mounted at boot time - may need to change permissions or may wish to remove certain entries
  • /etc/host.conf See nsswitch.conf
  • /etc/hosts Useful to override host name to address mappings for development and testing work
  • /etc/motd What people see if they log in to your system using a command line shell
  • /etc/nsswitch.conf Controls how network names are looked up. Tweaking this can make DNS lookups a lot faster
  • /etc/samba/smb.conf Configure access to Windows type resources on the host machine
  • /etc/samba/smbfstab Configure if/how the host system automatically mounts Windows resources from other machines so that they appear as Linux mounts. Use this rather than /etc/fstab if you want the embedded password only visible to the root user
  • /etc/sudoers Which users can sudo. You can also configure particular applications to automatically get sudo privaledges if you want to (hint: it is rather nice to set up a script that updates all installed software packages)
  • /etc/sysconfig/network/ifcfg-br0 If you want to bridge two network interfaces (see the last post for information on why you would want to do this), you have to set things up by hand
  • /etc/sysconfig/network/ifcfg-eth1 SUSE has an excellent GUI for managing network interfaces but just occasionally you might need to manually tweak one
  • /etc/sysconfig/network/routes The SUSE network configuration GUI seems to have a tendency to loose the default route
  • /etc/syslog-ng/syslog-ng.conf Configure logging levels
  • /etc/syslog.conf As above
  • /etc/udev/rules.d/50-udev-default.rules UDEV handles automatic creation of device files based on event rules. On my system I had to tweak the permissions on a USB scanner so that the scanning software VueScan could get access. You can also add rules to run scripts when certain hardware is detected.
  • /usr/NX/etc/node.cfg Configuration for the NX server. NX is a method of getting remote access to the screen of a machine.
  • /usr/NX/etc/server.cfg As above
This list applies to a desktop machine running OpenSUSE 10.3

It is quite likely that some of these files do have a GUI but sometimes it is just easier to get in there and edit.

Showing a less than symbol in a Blogger post

This took me ages to sort out so here is a reminder.

If you want to post a less-than symbol in a Blogger entry (for example in some code or a math formula), you cannot use the standard HTML entity "<" as Blogger cannot cope with it for some reason.

Instead use the hexadecimal equivalent "& # 60 ;" (NB: I've put spaces in so that Blogger doesn't turn it back into a symbol!). That works fine and shows the symbol (<) as expected.

Also note that normally you can just enter a <> blocks or where there is no space after it.

Not Linux related I know ;)

Bridged networking in OpenSUSE 10.3 & 11.0 (For VirtualBox)

I prefer to use VirtualBox rather than VMware as it seems to be rather faster and less resource hungry than VMware Server (the only free version of VMware with a GUI). Also VirtualBox seems to have better Linux host support (sound, etc.).

However, there is one thing that VMware is better at - setting up the guest network on the same network as the host.

Under VirtualBox this is called "Host Interface Networking" and, with a Linux host anyway, is a right royal pain to set up. This is because VirtualBox uses the powerful and flexible bridging capabilities of Linux - but they have no easy GUI setup!

So here is my summary of getting host interface working on my OpenSUSE 10.3 desktop. Firstly though, note that I have two network cards. I am not going to mess with eth0 as this is the card I use for the main network from my desktop. Instead I am going to configure eth1.

  1. Install the package "bridge-utils"
  2. Follow the instructions at the OpenSUSE web site to set up a basic bridge. You will end up with a new file in /etc/sysconfig/network called "ifcfg-br0" containing something like:
    ## Bridge 0 config - to allow VirtualBox to use
    ##    Host Interface Networking mode with eth1
    
    STARTMODE='auto'
    BOOTPROTO='static'
    # Change the above to dhcp to use your networks
    # dhcp server to assign an address
    # (the next 2 lines are then ignored)
    IPADDR=192.168.3.1
    NETMASK=255.255.0.0
    # Note that the above puts the bridge onto a different
    # subnet to my main network but that I use class B
    # addressing to ensure everything can talk
    NETWORK=
    BROADCAST=
    STARTMODE=auto
    USERCONTROL=no
    NAME='Bridge 0'
    NM_CONTROLLED=no
    BRIDGE='yes'
    BRIDGE_PORTS='eth1'
    BRIDGE_AGEINGTIME='300'
    BRIDGE_FORWARDDELAY='0'
    BRIDGE_HELLOTIME='2'
    BRIDGE_MAXAGE='20'
    BRIDGE_PATHCOSTS='19'
    BRIDGE_PORTPRIORITIES=
    BRIDGE_PRIORITY=
    BRIDGE_STP='on'
    
    
    I think that you may also need to tell the bridge where your default router is. Create a file in the same place as above called ifroute-br0 containing:
    default 192.168.1.1 -
    
    (or whatever your router is). Then, when you've done a "/etc/rc.d/network restart" as sudo, you should see that eth1 and br0 both come back up. Note that it is possible that you have to change eth1 to give it a manual IP address of 0.0.0.0, netmask 0.0.0.0 for it to work correctly (as per the instructions in section 6.7.1.2 of the VirtualBox manual - note that some of the rest of those instructions seem to be incorrect). Note that SUSE 11.0 at least has a setting for this in YAST (edit the card config and select none for address assignment). The ethernet card eth1 is now indirectly used via the bridge br0. Here is my ifcfg-eth1.
    BOOTPROTO='static'
    BROADCAST=''
    ETHTOOL_OPTIONS=''
    IPADDR='0.0.0.0'
    MTU=''
    NAME='ASUSTeK Marvell 88E8001 Gigabit Ethernet Controller (Asus)'
    NETMASK=''
    NETWORK=''
    REMOTE_IPADDR=''
    STARTMODE='hotplug'
    USERCONTROL='no'
    
    UPDATE 2008-07-18: In addition to the above, you must create a default route - but don't do it via YAST! YAST has a bug that often deletes the default route. Instead, put the following line in the file "/etc/sysconfig/network/routes":
    
    default 192.168.1.1 - -
    Note the two dashes at the end
  3. Create a permanent interface for VirtualBox to use (also called a "tap" interface) with the command:
    sudo VBoxAddIF vbox0 <user> br0
    
    Where is the VirtualBox user running the VM - I guess you have to do this for every user who might run the VM. If you run the command "ifconfig" you will now see a new network interface called vbox0 which will reappear along with br0, ethx, etc. every time you reboot. Note that these VirtualBox interfaces can only be used once so if you have two VM's, you will need two interfaces. Also note that VirtualBox has a method of creating dynamic interfaces (that only appear when you want them) but that is more complex to set up.
  4. Now tell your VM configuration to use this interface. You can do this via the GUI by putting the required name (vbox0) into the network settings box "Interface Name" under the HIS section. Or you can do it with the command:
    VBoxManage modifyvm "My VM" -hostifdev1 vbox0
    
  5. Make sure that the guest OS is running the network connection with DHCP so that it gets the correct address, gateway, DNS, etc.
  6. You might need to set a default gateway in the host OS.
Job is done!! After some years of attempting this on and off, it has finally come together and all works. Hopefully this little list is enough to get you going.

Regards, J.

UPDATE 2008-08-12: It seems that there is something slightly amis with the above instructions. On reboot, the network is not quite left in the correct state and you have to do a "/etc/rc.d/network restart" before host networking will actually work.

UPDATE 2008-08-22: Oops, sorry but I got the addif command wrong, it was missing the userid bit. Rats! Blogger keeps eating the < symbol.

Sunday, 4 May 2008

What stops me finally parting company with Windows

Will I ever be free of Microsoft? Well, unlike many people I'm not really evangelistic about this. I'll use whatever gets the job done properly. My main reason for ditching Microsoft products is due to their overly restrictive and greedy licensing without really giving real innovation in return.

So why can't I escape? Well one of the main reasons is that I am constantly faced with Microsoft products through my job as an IT consultant. While I am more likely today than ever before to end up with a mixed environment, MS still owns most of the desktop and much of the server market in my customer base.

That aside, it is mainly for personal reasons that I want to be free at home so why do I still need to run MS dependent software? Here is the list of products I still need Windows for:

  • Memory Map This is a great map display and navigation tool for which I have the whole of the UK at 1:50,000 scale. In fact there is no good mapping application for Linux as far as I can tell and certainly not one that will display UK Ordnance Survey maps. In fact, there doesn't seem to be any navigation software for Linux either. Hopefully this will change with the advent of more Linux based mobile phones
  • Google Sketchup I don't often get time to do 3D work these days (not like in my bachelor days when I was using a Commodore Amiga for 3D graphics and video!) but when I do, this is likely to be the tool I turn to. In fact, I can't find any easy to use tool that will do architectural 3D under Linux. Lets hope that Google are listening to the call from Linux fans for a proper Linux version like they've done with Google Earth
That's all I can think of for now.

I might of added MS Office to this list as there is certainly nothing to touch this in Linux land. OpenOffice is fine for simple stuff but for those of us who rely on the power of MS Office day-to-day, you quickly find the limitations of OOo. Thankfully, I don't generally have the need for complex office documents at home so I've not listed it here.

Monday, 17 March 2008

Fast storage using tmpfs

Here is a link to an article on using tmpfs (and the commonly pre-defined /dev/shm mount for tmpfs) as a high-speed, in-memory filing system.

This is very handy for small-ish amounts of data in files that get a lot of access. Just remember that you will loose it if the host crashes!

You can use this for SqlLite database files too.

Create turbocharged storage using tmpfs

Wednesday, 5 March 2008

Update on FreeOTFE

Thought I would add a quick update on using FreeOTFE under Windows and PocketPC. I tried it under Windows on a different PC and it does indeed work OK though it is nowhere near as polished as TrueCrypt.

I've also tried again a few times on a PocketPC with limited success and I think I know what is happening. Firstly, you must install FreeOTFE for PPC into system memory and not on a storage card - not terribly surprising really. However, you do not seem to be able to use a secure volume from a storage card either very reliably (I tried on a T-Mobile MDA Compact III). I did have some success creating a small volume (approx. 2MB) in main memory, it did load eventually. Sorry to say that this is unworkable and I'll be sticking to Keepass and Tombo on PPC with TrueCrypt on Windows and Linux.

It is worth noting in passing that TrueCrypt for Linux now has a native UI.

Living with Firefox

I use Firefox all the time. Both with Windows and Linux but I don't like the fact that it assumes that you are using Gnome under Linux and doesn't really play nicely with KDE.

Thankfully there are a few things you can do.

To get printing to use KPrinter (the default KDE print dialog). Choose the printer called Postscript/default and then change the command that is run to kprinter --stdin. Now, whenever you print to that printer, you will get the KDE standard print dialog where you can choose the printer (most importantly, output to PDF) and change the settings.

What is happening is that you are setting a configuration item (see the special Firefox URL about:config) called print.printer_PostScript/default.print_command. If you are happy to always use this setting, you might also like to set print.always_print_silent to true in about:config (add it as a new string entry if it does not exist). Now you wont see the initial print dialog, you will get a progress box and then the KDE print dialog.

You might also want to get rid of the nasty looking Gnome open/save dialogs too. That's easily done, again using about:config. This time set the option ui.allow_platform_file_picker to false.

Finally, you may well find that printing from Firefox takes an age. You can fix that by editing /etc/cups/mime.types (as sudo) and commenting out the two lines belonging to the mozilla-ps mime type. I am not sure though whether this has any impact on the quality of the output.

And people say that Linux is ready for the desktop? Hmm.

Tuesday, 4 March 2008

One command system update (Without password)

Here's a very handy tip about configuring SUSE to run a full update from the command line without requiring a sudo (and hence a password).
One command system update (Without password)

Thursday, 21 February 2008

Speed of network copy

I needed to copy some big video files from my NSLU2 NAS box to my desktop a couple of days ago and noticed that, using Konqueror, the FTP protocol was significantly faster than using SMB.
  • Using ftp://192.168.n.n/DISK 2/video/... gave me around 5.5MB/s
  • Using smb://192.168.n.n/DISK 2/video/... gave me around 3.5MB/s
Of course, the NSLU2 is constrained mainly by only having a 10M network interface but this is a very significant difference in speed.

Tuesday, 5 February 2008

Mounting disks by ID - Redux

OK, maybe I was a bit harsh with the verdict on mounting by UUID in my last post. Having played further with trying to get the right disk to boot by default, I realised that there is something rather odd about my ASUS motherboard.

I seems to want to boot SATA drives in REVERSE order so that SATA disk 3 is booting before SATA disk 1 no matter what order I tell it boot in (via the BIOS).

So I'm back to using UUID's in both GRUB (where possible) and fstab. And all seems to be working again.

None of this is beginer friendly though! I don't know even that many professionals who wouldn't give up on this stuff. It's only fine if you only have a single hard drive.

Tuesday, 29 January 2008

Mounting disks by ID

One think I discovered in my January foray into other distributions is that mounting disks by ID which is now the default in many distributions (such as SUSE and Ubuntu) is not such a good idea when you might be ripping some out.

In fact, Linux does not seem to take kindly to having hard disks ripped out at all!

I had to manually edit the device.map, menu.lst and fstab files of my existing distributions to get them working again after removing my two PATA drives that have driven me mad with buggy GRUB configurations.

Distributions January 2008

I was getting very frustrated with SUSE recently. Mainly because of the slow and flaky package management but also due to my scanning difficulties.

So I decided to do a quick test of a couple more Linux distributions. Here are a few quick notes.

MEPIS 7.0 Release 3

  • There is a password on the Live CD login with no information on what it is (guessed demo)
  • Install to disk has to run as root - it silently logged when run as demo with no indication as to why
  • In the disk partitioner, there were no partition names or labels to give a guide to existing partitions - both SUSE and Mandriva give better information
  • No wizard to help install my Wacom graphics tablet (this works great under SUSE)
  • THERE IS NO SETTINGS WIZARD FOR NVIDIA! Any configuration has to be done by hand on the xorg.conf file - this alone discounts it as a Windows replacement (there wasn't one for download either that I could find)
  • Installation does not set the time zone correctly according to the chosen location. The keyboard layout is left incorrect as well so that it has to be changed manually - lazy
  • The auto-mounting of existing partitions is DREADFULL. It labels them as hd1, etc. rather than using labels. Worse, you have to automount them from Konqueror as a standard user but then you cannot access them as a standard user, only as root (which wont auto-mount them)
Good points are:
  • It's Debian based
  • Package management is faster than SUSE (by a loooooong way)
  • Theres a nice NVIDIA driver installation wizard (but how daft that there is then no way of configuring it!)
My conclusion is - give it a miss, stick with SUSE or Ubuntu.

Mandriva 2008 One KDE

  • I had several crashes with the configuration wizards. Once crashed, they will not run without a reboot but there is no indication as to why
  • There was no automatic access to existing partitions from the Live CD. I had to manually mount them using the partition tool
  • After installing/configuring the NVIDIA drivers and setting up a second monitor. I could not get Mandriva configured so that windows did not maximise to BOTH monitors. None of the other distributions I've tried have done this and I couldn't find any GUI way of stopping X from treating the two monitors as a single large one (at least without turning off TwinView altogether)
  • In the Mandriva configuration wizards, the OK and Cancel buttons have a very nasty habit of swapping places. Normally you would expect the confirm action to be on one side and the cancel on the other - not to swap around randomly
  • You seem to have to manually set up repository sources - not helpful
  • The printer installation wizard does not parse the manufacturer. It told me what my printer was and who it was made by and then didn't bother to pre-select the Canon drivers in the list
  • I couldn't find Kate on the application menus only KWrite
  • There is no file manager listed in the menus only on the desktop
  • In the package manager, almost no packages had a description against them, just a title
  • Existing partitions are auto-mounted without their names/labels making it extremely hard to know which is which
Good points are:
  • There is a UPS setup wizard
  • The menu is nice, much better than a standard one

So, again, I really cannot recommend this distribution.

Conclusions

After this exercise, I even booted back to my Windows Vista partition thinking I might give up with Linux altogether!

Thankfully, a few minutes trying to run failing updates and using the relatively slow interface convinced me otherwise and I am back with SUSE 10.3 again. The grass may look green in those other OS's and distributions, but it isn't really.

Monday, 21 January 2008

Keeping information secure but accessible across platforms

One of the issues with Linux is that I can't use it under all circumstances. In particular I usually have to work with Windows at work. So I need cross-platform tools, especially now that I also make extensive use of a smartphone/PDA.

So here is a timely post - with the number of people in UK government departments carelessly loosing private or secret information, how do we keep this stuff secure while still being accessible from different platforms? Oh, and we don't really want to pay out money for the privilege if we don't have to!

Well, I've looked at 3 tools that will do everything we need and they wont cost a penny.

First up is Keepass. Keepass is a tool for storing passwords, primarily aimed at web site use but it serves perfectly well for storing any password type information and I use it for storing license numbers, router passwords, etc. Keepass runs on Windows as the main platform and that version has some really nice features such as a macro language for logging in to web sites and the ability to run local applications. This version does not need to be installed so it will run from a pen drive as well. There is also a version for Windows Mobile/PocketPC, just synchronise the database file to keep it in step with the desktop. Then there is KeepassX which runs under Linux and Mac OS. It is not quite as feature rich as the Windows version but it still does nicely.

The remaining two applications all work with virtual (or real) disk partitions by encrypting them and allowing you to access them like ordinary disks.

TrueCrypt comes first. This is supported on Windows and Linux (a Mac version is due out in Jan 2008). It is pretty easy to use under Windows. Linux only has a GUI for Gnome but you can also use ScramDisk for Linux as a GUI under KDE. TrueCrypt does not need to be installed so runs nicely from a pen drive. Sadly, there is no mobile version.

FreeOTFE is notable in that it supports Windows, Windows Mobile/PocketPC and Linux. The Linux support is via LUKS which is a standardised, well supported loopback encryption application (how to create a loopback secure container). I've not tried FreeOTFE yet, but it does seem to have a good range of capabilities. Under Windows, it also works with the Secure Tray utility (also by the same author, Sarah Dean) which allows for the automatic running of applications when a volume is mounted. I am sure that I'll be trying this out at some point. Update 2008-01-24: Sadly, the PDA version of FreeOTFE cannot mount Linux volumes so there is still not a true cross-platform solution. The best I can do is to set up TrueCrypt for PC/Linux (easier than FreeOTFE) and FreeOTFE for PC/PDA with an automated sync between the two. Update 2008-01-29: I've now actually tried FreeOTFE on a PC and on a WM5 device and I'm afraid that they tend to hang almost continuously so this is not really an option I can recommend. It's a shame as it looks great on paper. There is a real missed opportunity here, especially if the PDA version were to support Linux volumes.

Update 2008-07-10: An additional plus for FreeOTFE is that it does not require admin access (under Windows) to run. I suspect that this will get more and more important as more organisations lock down their PC's but continue to fail to provide sufficient support and capabilities.

Between TrueCrypt and FreeOTFE, I'd say the former is easier to use as it hides much of the gory bits away but FreeOTFE has the features and cross-platform support. I may well find use for both. Given the problems with FreeOTFE that I experienced. I'll carry on using TrueCrypt on Windows and Linux and Tombo on the PDA and Windows with manual copies between the two - drat, too much reliance on Windows.

Sunday, 20 January 2008

Things to dislike about SUSE 10.3

OK, so we've have the good things about openSUSE 10.3, now for the bad.
  • The repository and package installation management in openSUSE 10.3 sucks - bigtime!
    • I'm often getting failures to read the control files from the Internet (though normal browsing works fine),
    • it is slow - really very very very slow,
    • and you do seem to get weird dependency issues more often than other distros,
    • there are too many fairly standard packages missing from the default repositories so you have to configure third party ones (at least this is often easier with the 1-click install facility now available),
    • 1-click install seems to often fail or takes >5 minutes to jump into life,
    • Why do I have to keep importing new repository keys? It makes a mockery of the security because I get blasé about it and always say yes,
    • Why does running a package install totally kill the system performance?
  • I thought that there were a number of important commands missing from the distro but it turned out that the installation didn't set /sbin in the path so that things like the hdparm command were not found
  • It sets the "name" of my machine to something based on what the DHCP server on my router has given it rather than the name of machine that I set on installation (this shows up in YAST and on the command line). Not really a problem but a niggle
  • libata seems to break some software Update 2008-01-29: Hmm, not so sure now that scanning is working though I've also taken out my PATA hard drives so who knows? In fact, the release notes show that libata can be disabled at boot-time using the boot option "hwprobe=-modules.pata" if it causes problems
  • In particular, scanning was only working with Kooka (which is very basic). My normal cross-platform scanning software - VueScan - doesn't work, nor does the propriatory version of iScan (for Epson scanners) Update 2008-01-29: Now sorted. It turned out I hadn't fully configured my Epson scanner in YAST. Though I don't know whether removing my PATA hard drives may have changed things also. Anyway, both VueScan and iScan now work - hooray!

Well, despite all of these, I'm still finding it the best available right now. Overall I'd have to say that it is a well balanced distro and does most things you want right out of the box. I'll stick with it for now.

Sunday, 13 January 2008

More on the GRUB bug (with mixed PATA and SATA drives)

I've mentioned this one a couple of times so I'll give a bit more detail because it is a nightmare to solve if you don't know what is going on.

If you have both a parallel ATA (PATA, this is the way most hard drives were connected on desktops and laptops until around 18 months ago) and a serial ATA (SATA) hard disk controller on your PC (as many do) and hard drives connected to both controllers, you are going to get hit by the GRUB PATA/SATA bug.

When you boot from a CD/DVD drive (generally connected to the PATA controller) to install Linux, GRUB will see your hard drives in a specific order. It lists them as (hd0,0) etc. and this numbering is mapped onto the actual devices (e.g. /dev/hda for PATA or /dev/sda for SATA) using a mapping file in the grub folder.

The problem is that when you re-boot from a hard drive rather than the removable drive, it is likely that the order of the drives will change and GRUB can't currently handle this.

You have a couple of choices now. You could install openSUSE 10.3 which treats all drives as though they were SCSI (e.g. /dev/sda etc.), no problems there.

If you want to use another distro though (e.g. Ubuntu), try this:

After installation from CD/DVD, reboot without the CD/DVD and see if GRUB works. If it fails to find the boot loader, you can edit the grub menu manually from within GRUB itself, see the documentation for details. Now you can play with the default drive (the "root (hd0,0)" bit) until you find the right one. Hint: you can type "(hd" and press tab to get a valid list of drives and partitions.

Once you have found the correct drive to use you can now boot normally.

Next, find the location of the grub install files (should be in /boot/grub).

As root, edit the device.map file and reset the device map to how the devices look when you are NOT booted from a CD - you should be able to work this out from your currently mounted devices.

Alternatively, edit the GRUB menu.list file to correct the "root" statements to the correct drives.

Yes, it's a mess and has been that way for at least two years. I first noticed it when Knoppix (the first of the really good live distros) stopped working on my desktop PC though I didn't know what the problem was then.

Here are some links to more information:

While I'm at it, here are some quick instructions for rebuilding GRUB:

  1. sudo -i (or su)
  2. grub (runs grub shell)
  3. find /boot/grub/stage1 (if it doesnt work, try without /boot) => should return installation drive, e.g. (hdx,y)
  4. root (hdx,y)
  5. setup (hd0) (for installation on MBR of disk 0. Alt: (hdx,y) to install on boot partition, etc.)
  6. quit

On Ubuntu, try update-grub to rebuild grub menu and reinstall On all distros, grub-install /dev/hdx

Saturday, 12 January 2008

Things to like about openSUSE 10.3

It works well out of the box.

Things it doesn't do wrong

I didn't need to get round the GRUB bug since SUSE treats PATA and SATA disks as pseudo SCSI disks and nothing gets confused when rebooting.

It didn't kill my graphics card with a buggy NV driver.

My Soundblaster Live card works correctly with digital output and everything.

My old, serial connected, Wacom graphics tablet just works.

Once installed, Compiz Fusion just works.

Bluetooth just works.

Things it does well

Start-up and shut-down of the PC is really fast.

There are lots of custom settings scripts built in to YAST2 so no need to hunt round for files to edit by hand.

There is a sensible set of applications in the standard build without overdoing it.

In particular, the scripts for editing the graphics settings of xorg save manually editing the conf file which is always rather fraught (though there is a problem after the NVidia drivers have been installed, I'll talk about that in another post).

Sensible options are generally chosen during installation. For example, if you change the language option to English (UK) during installation, the locale and keyboard options are automatically chosen as UK.

Sunday, 23 December 2007

Distributions December 2007

Linux is a very fast moving landscape so I tend to do a major update of my systems once or twice a year.

Although I moved over to Linux at the start of 2007, I decided to do another move in December as my main installation was getting rather tatty from too much experimenting!

So I went back through the distributions that I had looked at before, namely:

  • Ubuntu (along with the variants Kubuntu and Mint) now at 7.10
  • SUSE now at 10.3
  • PC Linux OS
  • Mepis

I know that everyone has their favourites but these were ones that I'd looked at previously as being well supported, kept up-to-date and working well "out of the box". However, having moved on 10 months or so, I was less forgiving of issues this time round. All of the distros had moved on so they all should be better.

I should, at this point, tell you what my hardware is. An ASUS motherboard with NVidia chipset, a mix of PATA and SATA disks, an NVidia 7600GS graphics card and a Soudblaster Live! 1024 sound card. This is relavent because, although these are pretty standard parts, several of them cause issues under Linux.

This time round Ubuntu really let me down. After installation from the CD, GRUB got confused over which drives were which (this is a bug in GRUB when using a mix of PATA and SATA and affects most distros). Also, the NV video driver was installed which has a bug that stops it working with the 7600 series graphics cards. Even when I got all that working, there were still other issues and I gave up at that point.

PC Linux OS had the same GRUB issue and would not even let me into GRUB to manually edit so that got ditched.

I didn't bother with Mepis this time round.

I did try openSUSE 10.3 though and got a pleasent surprise! It worked! That's it, nothing more. Everything worked. No mess, no fuss.

So now I'm using SUSE. There are some issues, I'll tell you about those in another post or two.