Entries Tagged as 'Linux'

Linux on the desktop

I’ve been experimenting with Linux as a server for several months now; and I have to say for the price it’s a clear winner over Microsoft Windows Server 2008.

Other than desktop search, Linux has been a clear winner across the board.  Network file sharing, application services, etc all seem to work, and work well.  Plus with the webmin GUI for managing the server, it’s extremely easy — easier in fact that figuring out where to go to do the task at hand in Windows Server 2008.

With my success using Linux as a server, I have decided (once again) to investigate Linux as a desktop replacement for Windows… after all, how much does one normally do with a desktop?

I experimented briefly with Ubuntu on a laptop when I was cloning the drive in it, but I didn’t put it through exhaustive paces (I was quite impressed that Ubuntu auto-magically installed drivers for all the hardware in the notebook; though that feat was no better than Windows 7).

I need to go over my requirements a few more times before I start the test, but what I believe is important is:

  • Hardware support; including multiple displays, scanners, web cams, etc
  • Office (which OpenOffice will work the same as it has been on Windows)
  • Financial Management (I guess I’ll have to move over to MoneyDance; it’s not free, but it’s fairly well thought out)
  • Media Playback (VLC runs on Linux just like Windows, plus there are a number of media players I’ll take a look at)
  • DVD RIPping (my last try to do that on Linux wasn’t very successful)
  • Video transcoding (I think HandBrake is broken on the current version of Ubuntu — so that might take a little work)

I’ll also evaluate it for ease of use and customization…

The evaluation will be done on an Intel DG45ID motherboard (G45 chipset)with an Intel Core2 E7200 with 4GB DDR2, multiple SATA2 hard drives, SATA DVD-RW, and I’ll test with both a nVidia 9500 and the Intel GMAC controller (X4500HD) running both a 32-bit and 64-bit Ubuntu 10.04LTS distribution.

Let the fun begin!

Originally posted 2010-08-12 02:00:28.

Ubuntu – RAID Creation

I think learning how to use mdadm (/sbin/mdadm) is a good idea, but in Ubuntu Desktop you can use Disk Utility (/usr/bin/palimpsest) to create most any of your RAID (“multiple disk”) configurations.

In Disk Utility, just access “File->Create->Raid Array…” on the menu and choose the options.  Before doing that, you might want to clear off the drives you’re going to use (I generally create a fresh GTP partition to insure the drive is ready to be used as a component of the RAID array).

Once you’ve created the container with Disk Utility; you can even format it with a file system; however, you will still need to manually add the entries to /etc/mdadm/mdadm.conf and /etc/fstab.

One other minor issue I noticed.

I gave my multiple disk containers names (mirror00, mirror01, …) and Disk Utility will show them mounted on device /dev/md/mirror00 — in point of fact, you want to use device names like /dev/md0, /dev/md1, … in the /etc/mdadm/mdadm.conf file.  Also, once again, I highly recommend that you use the UUID for the array configuration (in mdadm.conf) and for the file system (in fstab).

Originally posted 2010-07-12 02:00:33.

Desktop Sharing

Maybe I’ve become spoiled, but I just expect desktop sharing (remote control) to be easy and fast.

Nothing, absolutely nothing compares to Microsoft’s RDP; and virtually any Windows machine (except home editions) can be accessed remotely via RDP; and all Windows machines and Macs can access a remote Windows machine.

Apple has their own Remote Desktop Client, and it works well — but it’s far from free (OUCH, far from free).  And Apple does build in VNC into OS-X (can you say dismally slow)… but they don’t provide any Windows client.

Linux and other *nix operating system you can use an X session remotely; or VNC (zzzzzzzzzzzzz again, slow).

As a “universal” desktop sharing solution VNC isn’t horrible (and it’s certainly priced right, and there’s plenty of different ports and builds of it to choose from), but it’s old school and old technology.

I personally think it would be a great standard to have an efficient remote desktop sharing standard, that all computers (and PDAs) could use… one ring — eh, got carried away there; one client could talk to any server, and operating system vendors would only need optimize their server and their client, other operating system vendors would do the same…

Originally posted 2009-02-23 01:00:41.

Thinking Inside the VirtualBox

Sun Microsystems used to be a major player in the computer world; and I guess since Java belongs to Sun they are still a a fairly major force…

There’s a number of open source or free projects that Sun sponsors:

And, of course, it’s VirtualBox that has inspired this post.

VirtualBox 2.0.4 released on 24 October 2008, and from my initial experiences with it, it’s a contender.

A fairly mature x86/x64 virtualization framework for x86/x64 platforms.  VirtualBox runs on Windows, OS-X, Linux, and of course Solaris.

What sets it apart — well it’s to my knowledge the only fairly mature cross-platform virtualization framework that’s FREE on all platforms.

In general it doesn’t require hardware virtualization support with the exception that to run a x64 guest you must be on an x64 host with hardware virtualization.

Going through the list of features and playing with it there’s really nothing I couldn’t find that it didn’t do (and in playing with it, it seemed to work well)… the one feature that VirtualBox supports that none of it’s competitors had last time I looked (and that Hyper-V is sorely missing) is SATA (AHCI – Advanced Host Controller Interface) support… that provides much more efficient emulation of disk channel connections to the guest (and thus much better performance — and if you recall from my post on Hyper-V the fact that Microsoft doesn’t have SCSI boot support or AHCI support at all is what prevents me from moving to Hyper-V).

VirtualBox does apparently support VMWare virtual disks, but not Microsoft virtual disks (both of them provide open specifications, so my only conclusion is that Sun’s anti-Microsoft bias is at play which is sad since VirtualPC, Virtual Server, and Hyper-V account for a fairly substantial segment of the market, and a growing segment).

Like any product, you really need to carefully evaluate it based on your needs, but my feeling is that certainly for Mac users this might be the choice if you don’t want to by Parallels Desktop… and for Windows desktops this looks to be a very good.


On Windows if you want to use this on a server host machine (ie one that doesn’t require users to control the virtual machine) VirtualBox doesn’t really provide any interface for controlling machines in this manner; however, you can launch a VirtualBox machine from the command line, so you can have your server start up VirtualBox sessions at boot… though there are no tools provided by VirtualBox for managing running instances started this way.  My recommendation is that the VirtualBox team add a tool to manage and launch instances in a server environment.

On Windows (and other OSs) the way VirtualBox handles host networking (the default is a NAT’d network through the host… which could have some performance impact) is buy using the TUN/TAP driver.  Certainly they way Microsoft handles virtualization of the network adapter is far slicker, and I found that using host networking is not as reliable as NAT; hopefully this is an area where there will be some improvement.

Lastly, I haven’t run any actual performance tests head-to-head with  Parallels, VMWare, VirtualPC, and Virtual Server… but I can tell you that guests “feel” substantially faster running under VirtualBox (I was quite impressed — and surprised).


Originally posted 2008-12-08 12:00:55.

eStation Zeen

We know from FCC filings by Hewlett-Packard that they will be releasing a tablet device called the eStation Zeen, and a printer called the eStation Zeus.

HP announced their PDAs will move from Windows to WebOS (a mobile OS they acquired from Palm earlier this year)… and now they’re moving tablets from Windows to Android.  Though, they’ve committed to continue offering Windows on enterprise class devices.

HP might have given Steve Balmer a Windows tablet to showcase to take thunder from the iPad; but my suspicion is that HP is committed to nothing but profits.

Anyway, I’m sure we’ll see what HP has in store; or should I say in stores… soon.

Originally posted 2010-08-13 02:00:22.


GIMP is an acronym for GNU Image Manipulation Program. It is a freely distributed program for such tasks as photo retouching, image composition and image authoring.

It has many capabilities. It can be used as a simple paint program, an expert quality photo retouching program, an online batch processing system, a mass production image renderer, an image format converter, etc.

GIMP is expandable and extensible. It is designed to be augmented with plug-ins and extensions to do just about anything. The advanced scripting interface allows everything from the simplest task to the most complex image manipulation procedures to be easily scripted.

That’s what the GIMP site says; but what GIMP is is a free Open Source alternative to programs like Adobe Photoshop and Corel Paint Shop Pro that runs on Linux, OS-X, and Windows.

GIMP is reasonably easy to use, powerful, and rock solid.

If you understand the principles of image/photo editing you’ll be a pro at using GIMP in no time — far easier to use than Photoshop, far more functional than Paint Shop Pro.  And it’s free — totally free — just download it an install it.  There’s lots of plug-ins for it as well (so make sure you take a look at some of those add ins).  Be sure and review the online documentation, tutorials, and FAQ; plus there are a number of well written books on GIMP available for purchase.


Originally posted 2010-03-08 02:00:45.


There are many people out there that say that *nix and Mac file systems don’t fragment — only Windows does.

They’re dead wrong.

[I know I’ve said this before, but it’s worth saying again]

All three file systems (and in Windows we’re talking about NTFS, not FAT) derive from the same basic file system organization, and all three have pretty much the same characteristics (there are differences, but those really have nothing to do with the likelihood of fragmentation).

Fragmentation is just a by-product of the way a file system works.  The file system must make decisions about how to lay files down on the disk, and since it doesn’t have a crystal ball it cannot see the future.  Thus is a file is pinned between two other files and it must grow, the file would either need to be moved (creating an empty spot of a maximum size) or extended in another area (thus being fragmented).

There are various schemes for handling file allocations, but most of them rely on an application that is creating the file giving the operating system (and thus file system) sufficient information on the files maximum size and hints as to whether it is temporary, may grow, etc.

Given that file systems will fragment, the need for defragmentation is real.  Windows recognizes this (mainly because Windows used to use a FAT file system where fragmentation caused severe performance issues).

If you have a *nix or Mac based system, I’m sure you can locate a reasonably good defragmenter (not every one is in denial about the need for periodically defragmenting the system).  If you have  Windows based system you already have a reasonably good defragmenter that came with the systems (a “lite” version of Executive Systems Diskeeper, which now just goes by the name of Diskeeper Corporation).  You can, of course, purchase a number of commercial products, like the full blown Diskeeper, O&O Defrag (my personal favorite), or download a host of free or inexpensive products.

The key to defragmenting your system is knowing when you should invest the time (and wear on your disks).  The most accurate answer would be when system fragmentation reaches a point where it adversely effects performance.  That seems a little vague, but most of the defragmentation tools actually will do an analysis and advise you if they should be run.  Some of them have active defragmentation (but like the file system, they don’t have a crystal ball, and will often cost performance, not enhance it — so I would just say no to active defragmentation).

A good rule of thumb is that right after you install you system, or any time you install major updates or service packs you should defragment your system.  It’s a good idea to clean off temporary files (like your browser cache, etc) before you defragment.  And you might even want to clean off old restore points (if you have them enabled).

There’s certainly no reason to defragment your system daily or weekly; but an occasional night of running your defragmenter of choice will likely decrease boot time and increase overall system performance.

One other little tid-bit — remove your paging file before defragmenting; then after you’re finished, create a new paging file of a fixed size (ie set the minimum and maximum to the same thing).  That way you have a nicely defragmented paging file that will not cause fragmentation or fragment itself (leading to better system performance).  Of course, if your system has enough memory to run without a paging file, you don’t need one at all.

Originally posted 2010-02-21 01:00:20.

Elive – Luxury Linux

I’ll have to start my post off with what may seam like a very unfair comment; and it may be.

I’ll prefix this with I don’t ever feel comfortable with individuals or companies who try and charge for Open Source software when they don’t offer anything tangible for that money, and they don’t allow (and encourage) you to try out what you’re going paying for before you are asked to pay for it.

Elive falls squarely into this category.

You cannot download a “stable” version of Elive unless you make some donation (I believe $10 is the minimum donation) from the publishers site (you certainly can find torrents and ftp links to download it from other sites if you’re willing to put a few minutes into it).

Strictly my opinion; but I suspect the publisher realizes that no one would ever pay him for a “stable” version of Elive because what he passes off as stable isn’t.

When Elive boots, it’s striking, and all the applications that are installed with it seem to work nicely.  The interface, while not 100% Mac-like, is intuitive and easy to use…

So why start with such a strong negative stand?

Easy, Elive just isn’t stable.  It’s mostly form with little function.

What’s included on the CD seems to work fairly well, but start updating components or installing additional software (the VirtualBox guest additions started me on the road to ruin) and then the trouble starts… laughingly you have an environment with the stability of Windows 9x on junker hardware rather than OS-X (or Linux).

I suspect that the failing of Elive is that it isn’t a collaborative project of many people; nor is it a commercial venture from a publisher with the resources to adequately test it.

I simply wouldn’t pursue it the way it’s being pursued — but I like quality, and would simply not be comfortable asking for donations from people who will probably end up not being able to use the version they donated to (and there’s no mention that you get upgrades for life for free or only need donate again when you feel you’ve gotten something of substance).

My advice… look at the free “unstable” build, play with it, make it do what you want it to do — when it crashes move on; don’t expect a great deal more from the “stable”.

Hopefully, though, others will look at Elive and see the potential and we’ll see another distribution that is every bit as flashy and way more stable.


Originally posted 2010-01-04 01:00:17.

Ubuntu – Creating A Disk Mirror

A disk mirror, or RAID1 is a fault tolerant disk configuration where every block of one drive is mirrored on a second drive; this provides the ability to lose one drive (or have damaged sectors on one drive) and still retain data integrity.

RAID1 will have lower write performance than a single drive; but will likely have slightly better read performance than a single drive.  Other types of RAID configurations will have different characteristics; but RAID1 is simple to configure and maintain (and conceptually it’s easy for most anyone to understand the mechanics) and the topic of this article.

Remember, all these commands will need to be executed with elevated privileges (as super-user), so they’ll have to be prefixed with ‘sudo’.

First step, select two disks — preferably identical (but as close to the same size as possible) that don’t have any data on them (or at least doesn’t have any important data on them).  You can use Disk Utility (GUI) or gparted (GUI) or cfdisk (CLI) or fdisk (CLI) to confirm that the disk has no data and change (or create) the partition type to “Linux raid autotected” (type “fd”) — also note the devices that correspond to the drive, they will be needed when building the array.

Check to make sure that mdadm is installed; if not you can use the GUI package manager to download and install it; or simply type:

  • apt-get install mdadm

For this example, we’re going to say the drives were /dev/sde and /dev/sdf.

Create the mirror by executing:

  • mdadm ––create /dev/md0 ––level=1 ––raid-devices=2 /dev/sde1 missing
  • mdadm ––manage ––add /dev/md0 /dev/sdf1

Now you have a mirrored drive, /dev/md0.

At this point you could setup a LVM volume, but we’re going to keep it simple (and for most users, there’s no real advantage to using LVM).

Now you can use Disk Utility to create a partition (I’d recommend a GPT style partition) and format a file system (I’d recommend ext4).

You will want to decide on the mount point

You will probably have to add an entry to /etc/fstab and /etc/mdadm/mdadm.conf if you want the volume mounted automatically at boot (I’d recommend using the UUID rather than the device names).

Here’s an example mdadm.conf entry

  • ARRAY /dev/md0 level=raid1 num-devices=2 UUID=d84d477f:c3bcc681:679ecf21:59e6241a

And here’s an example fstab entry

  • UUID=00586af4-c0e8-479a-9398-3c2fdd2628c4 /mirror ext4 defaults 0 2

You can use mdadm to get the UUID of the mirror (RAID) container

  • mdadm ––examine ––scan

And you can use blkid to get the UUID of the file system

  • blkid

You should probably make sure that you have SMART monitoring installed on your system so that you can monitor the status (and predictive failure) of drives.  To get information on the mirror you can use the Disk Utility (GUI) or just type

  • cat /proc/mdstat

There are many resources on setting mirrors on Linux; for starters you can simply look at the man pages on the mdadm command.

NOTE: This procedure was developed and tested using Ubuntu 10.04 LTS x64 Desktop.

Originally posted 2010-06-28 02:00:37.

Ubuntu – Disk Utility

When you install Ubuntu 10.04 Desktop, the default menu item for Disk Utility isn’t extremely useful; after all, it’s on the System->Administration menu, so you would assume that it’s meant to administer the machine, not just view the disk configuration.

What I’m alluding to is that by default Disk Utility (/usr/bin/palimpsest) is not run with elevated privileges (as super-user), but rather as the current user — which if you’re doing as you should be, that’s means you won’t be able to effect any changes, and Disk Utility will probably end up being a waste of time and effort.

To correct this problem all you need do is modify the menu item which launches Disk Utility to elevate your privileges before launching (using gksu) — that, of course, assumes that you’re permitted to elevate your privileges.

To do add privilege elevation to disk utility:

  1. Right click your mouse on the menu bar along the top (right on system is good) and select ‘edit menu items’
  2. Navigate down to ‘administration’ and select it in the left pane
    Select ‘disk utility’ in the right pane
  3. Select ‘properties’ in the buttons on the right
  4. Under ‘command’ prefix it with ‘gksu’ or substitute ‘gksu /usr/bin/palimpsest’ (putting the entire path there)
  5. Then click ‘close’ and ‘close’ again…

Originally posted 2010-06-27 02:00:33.