Entries Tagged as 'Linux'

Macbuntu

Macbuntu isn’t a sanctioned distribution of Ubuntu like Kubuntu, Xubuntu, etc; rather it’s a set of scripts that turns an Ubuntu desktop into something that resembles a Mac running OS-X… but it’s till very much Ubuntu running gdm (GNOME).

I don’t recommend install Macbuntu on a production machine, or even a real machine until you’ve taken it for a spin around the block.  For the most part it’s eye candy; but that said, it does make a Mac user feel a little more comfortable at an Ubuntu workstation, and there’s certainly nothing wrong with the desktop paradigm (remember, the way GNOME, KDE, XFCE, Enlightenment, Windows, OS-X, etc work is largely arbitrary — it’s just a development effort intended to make routine user operations intuitive and simply; but no two people are the same, and not everyone finds a the “solution” to a particular use case optimal).

What I recommend you do is create a virtual machine with your favorite virtualization software; if you don’t have virtualization software, consider VirtualBox — it’s still free (until Larry Ellison decides to pull the plug on it), and it’s very straight forward for even novices to use.

Install Ubuntu 10.10 Desktop (32-bit is fine for the test) in it, and just take all the defaults — it’s easy, and no reason to fine tune a virtual machine that’s really just a proof-of-concept.

After that, install the virtual guest additions and do a complete update…

Once you’re done with all that, just open a command prompt and type each of the following (without elevated privileges).

  • wget https://downloads.sourceforge.net/project/macbuntu/macbuntu-10.10/v2.3/Macbuntu-10.10.tar.gz -O /tmp/Macbuntu-10.10.tar.gz
  • tar xzvf /tmp/Macbuntu-10.10.tar.gz -C /tmp
  • cd /tmp/Macbuntu-10.10/
  • ./install.sh

Once you’ve followed the on-screen instructions and answered everything to install all the themes, icons, wallpapers, widgets, and tools (you’ll have to modify Firefox and Thunderbird a little more manually — browser windows are opened for you, but you have to install the plug-ins yourself), you reboot and you’re presented with what looks very much like OS-X (you actually get to see some of the eye candy as it’s installed).

Log in… and you see even more Mac-isms… play play play and you begin to get a feel of how Apple created the slick, unified OS-X experience on top of BSD.

Now if you’re a purist you’re going to push your lower lip out and say this isn’t anything like OS-X… well, maybe it doesn’t carry Steve Job’s DNA fingerprint, but for many users I think you’ll hear them exclaim that this is a significant step forward for making Linux more Mac-ish.

There are a couple different efforts to create a Mac like experience under Linux; Macbuntu is centric on making Ubuntu more like OS-X, and as far as I can see it’s probably one of the cleanest and simplest ways to play with an OS-X theme on top of Linux…

If you find you like it, then go ahead and install on a real machine (the eye candy will be much more pleasing with a manly video card and gpu accelerated effects), and you can uninstall it if you like — but with something this invasive I’d strongly encourage you to follow my advice and try before you buy (so to speak — it’s free, but time and effort count for a great deal).

I’ll make a post on installing Macbuntu for tomorrow so that it’s a better reference.

Macbuntu on SourceForge.net

Macbuntu

Originally posted 2010-11-14 02:00:36.

rsync

I’ve gotta ask the question why no one has ever invested the time and energy into making a port of the client code in rsync as a native Windows executable.

Yes, you can certainly run rsync client (and server even) under Cygwin; but it just seems like backing up files on a workstation to a central store efficiently is something that might have occurred to a Windows person over the years.

Could it be that people only think in terms of homogeneous solutions?  That they simply can’t conceive that the best selection of a server might not involve the same operating system as a workstation or desktop?

Yeah — I understand that since many Windows desktops talk to Windows servers rsync isn’t a commercially viable solution (or even hobbyist solution) unless you have both server and client, but in many cases a Windows desktop talks to a *nix based sever (or NAS) and all you really need to be able to do is run an rsync client.

The benefits of rsync seems to be to be well worth implementing a client on Windows — while the newest version of the file sharing protocol in Windows Vista, Windows Server 2008, and Windows 7 have the ability to do differential file copy, it’s not something that’s likely to implemented in an optimized fashion in non-Microsoft storage systems (and isn’t going to be implement in Windows XP or Windows Server 2003 at all); nor is there any reason to really depend of a file sharing protocol for synchronization.

Anyway — rsync is a very efficient tool, and something you might want to keep in your toolbox.

Originally posted 2010-06-04 02:00:01.

Upgrading Drive Firmware

First, if you’re not having problems with your drive (unless it’s brand new, has no data on it, and you don’t have an issue returning it to the place of purchase or manufacturer) DO NOT DO IT.

Second, make sure you give yourself plenty of time, don’t try and do it quickly, or in between other commitments.  Do it when it’s quiet.  Make sure you have a UPS on your computer and that the weather is clear (so that there’s no likelihood of power outages).

Third, run the drive diagnostics from the manufacturer first.  If the drive shows it’s having problems — return it to the manufacturer for replacement (most manufacturers will do advance replacement at no charge with a credit card; that gives you a drive to migrate your data onto, and a shipping container to return the failing drive in).

Fourth, many manufacturers support upgrading firmware directly from Windows (a few from other operating systems).  I high recommend you choose the bootable CD approach — that way there’s no question whether or not you have something installed on your computer that might interfere.  And if you’re using SATA I recommend you set your computer to SATA IDE/Legacy mode to insure that the upgrade (and diagnostics) don’t have any issues with your SATA controller (IDE/Legacy as opposed to SATA/Native, SATA/RAID, SATA/AHCI — different BIOS manufacturers will call it by a different term, but it’s the lowest setting for the controller, likely it’s what the default was).

Fifth, make sure you obtain the firmware update only from the manufacturer’s web site; and make sure that it is for your drive; and that it’s recommended as a general installation or specifically addresses an issue you’re having.

Sixth, make sure you read and follow the manufacturer’s procedure for updating firmware.

Seventh, power off your drive before you attempt to use it after updating the firmware.  Most drives will not use the newer firmware until they are power-cycled; some drives just flat out won’t work until they’ve been “hard reset”.

Hopefully all goes well, but many drives become a brick if your firmware upgrade fails; a few can revert to the previous firmware and keep on running.  If you have problems, contact the manufacturer, most drives under warranty can be replaced — but data recovery is not included.

NOTE:

Upgrading drive firmware may also change the first several sectors of the drive; I highly recommend that you backup the drive before upgrading the firmware.

Originally posted 2010-02-09 01:00:56.

PHP as a general scripting language

Invariable working smart involves automation, and automation will almost always involve scripting repetitive tasks.

Under *nix operating systems you could write a shell script, though the syntax is arcane and maintainability isn’t really achievable for a script of any complexity.

Under Windows you can write a bat/cmd script; but the language isn’t very powerful, nor is it robust.

A good choice for all operating systems is PHP5.

Yes, you will likely have to install it — but given that PHP5 is a useful tool, free, and runs on every modern computing platform that shouldn’t be a hurdle.

PHP is a rich scripting environment.  And if you’re interested in doing any web programming you can leverage your general scripting experiences to help you learn the language and become proficient.

One language to rule them all…

Well, that might be a little over the top.  PHP is certainly powerful and flexible — but still languages like C# and Java have their uses (as well an un-managed languages like C/C++).

The best way to get used to PHP is just start using it any time you’d normally write a script in some other language.  The syntax is fairly straight forward, and the available libraries/objects are rich.

For the foreseeable future I’ll be writing my scripts in PHP, and leaving shell programing, batch files, and voodoo to others.

http://php.net/

Originally posted 2010-03-27 02:00:04.

Linux Server

I’ve been experimenting with a Linux server solution for the past couple months — I was prompted to look at this when my system disk failed in a Windows Server 2008 machine.

First, I’m amazed that after all these years Microsoft doesn’t have a standard module for monitoring the health of a system — at the SMART from disk drives.

I do have an Acronis image of the server from when I first installed it, but it would be a pain to reconfigure everything on that image to be as it was — and I guess I just haven’t been that happy with Windows Server 2008.

I personally find Windows Server 2008 needlessly complicated.

I’m not even going to start ranting on Hyper-V (I’ve done that enough, comparing it head-to-head with other technology… all I will say is it’s a good thing their big competitor is Vmware, or else Microsoft would really have to worry about having such a pathetic virtualization offering).

With a Linux distribution it’s a very simple thing to install a basic server. I actually tried Ubuntu, Centos, and Fedora. I also looked at the Xen distribution as well, but that wasn’t really of interest for a general purpose server.

Personally I found Centos (think Red Hat) to be a little too conservative on their releases/features; I found Fedora to be a little too bleeding edge on their releases/features (plus there’s no long term support commitment); so I was really just left with Ubuntu.

I didn’t really see any reason to look exhaustively at every Debian based distribution — Ubuntu was, in my mind, the best choice of that family; and I didn’t want to look at any distribution that wasn’t available at no cost, nor any distribution that didn’t have a good, stable track record.

With Ubuntu 10.04 LTS (10.04 is a Long Term Support release – which makes it a very good choice to build a server on) you could choose the Desktop or the Server edition — the main difference with the Server verses the Desktop is that the server does not install the XServer and graphical desktop components (you can add them).

The machine I was installing on had plenty of memory and processor to support a GUI, and I saw no reason not to install the Desktop version (I did try out the server version on a couple installs — and perhaps if you have an older machine or a machine with very limited memory or a machine that will be taxed to it’s limits or a machine that you want the absolute smallest attack surface you’d want desktop — though almost all those requirements would probably make me shift to Centos rather than Ubuntu).

My requirements were fairly simple — I wanted to replace the failed Windows 2008 Server with a machine that could perform my DNS, DHCP, web server, file store (home directories — served via CIFS/Samba), and active P2P downloads.

Additionally, the server would have to have fault-tolerate file systems (as did the Windows server).

Originally my testing focused on just making sure all the basic components worked, and worked reasonably well.

Then I moved on to getting all the tools I had written working (I converted all the C# code to PHP).

My final phase involved evaluating fault tolerant options. Initially I’d just used the LSI 150-4 RAID controller I had in the Windows Server 2008 (Linux supported it with no real issues — except that Linux was not able to monitor the health of the drives or the array).

I didn’t really see much need to use RAID5 as I had done with Windows Server 2008; so I concentrated on just doing RAID1 (mirroring) — I tried basic mirrors just using md, as well as using lvm (over md).

My feelings were that lvm added an unnecessary level of complexity on a standalone server (that isn’t to say that lvm doesn’t have feature that some individuals might want or need). So my tests focused primarily on just simple mirrors using md.

I tested performance of my LSI 150-4 RAID5 SATA1 PCI controller (with four SATA2 drives) against RAID1 SATA2 using Intel ICH9 and SiI3132 controllers (with pairs of SATA1 or SATA2 drives). I’d expected that the LSI 150-4 would outperform the md mirror with SATA1 drives on both read and write, but that with SATA2 drives I’d see better reads on the md mirror.

I was wrong.

The md mirrors actually performed better across the board (though negligibly better with SATA1 drives attached) — and the amazing thing was that CPU utilization was extremely low.

Now, let me underscore here that the LSI 150-4 controller is a PCI-X (64-bit) controller that I’m running as PCI (32-bit); and the LSI 150-4 represents technology that’s about six years old… and the LSI 150-4 controller is limited to SATA1 with no command set enhancements.

So this comparison wouldn’t hold true if I were testing md mirrors against a modern hardware RAID controller — plus the other RAID controllers I have are SAS/SATA2 PCIe and have eight and sixteen channels (more spindles means more performance).

Also, I haven’t tested md RAID5 performance at all.

My findings at present are that you can build a fairly high performance Linux based server for a small investment. You don’t need really high end hardware, you don’t need to invest in hardware RAID controllers, and you don’t need to buy software licenses — you can effectively run a small business or home office environment with confidence.

Originally posted 2010-06-24 02:00:09.

Ubuntu – Creating A RAID5 Array

A RAID5 array is a fault tolerant disk configuration which uses a distributed parity block; this provides the ability to lose one drive (or have damaged sectors on one drive) and still retain data integrity.

RAID5 will likely have slightly lower write performance than a single drive; but will likely have significantly better read performance than a single drive. Other types of RAID configurations will have different characteristic.  RAID5 requires a minimum of three drives, and may have as many drives as desires; however, at some point RAID6 with multiple parity blocks should be considered because of the potential of additional drive failure during a rebuild.

The following instructions will illustrate the creation of a RAID5 array with four SATA drives.

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 /dev/sdf /dev/sdg and /dev/sdh.

Create the RAID5 by executing:

  • mdadm ––create /dev/md1 ––level=5 ––raid-devices=4 /dev/sd{e,f,g,h}1

Now you have a RAID5 fault tolerant drive sub-system, /dev/md1 (the defaults for chunk size, etc are reasonable for general use).

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/md1 level=raid5 num-devices=4 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 RAID5 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 RAID5 container you can use the Disk Utility (GUI) or just type

  • cat /proc/mdstat

There are many resources on setting RAID5 sub-systems 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-29 02:00:15.

On the quest…

Shortly after I received my Windows 7 licenses I realized that I was growing tired of paying for software upgrades and simple fixes; further I was growing tired of needing to re-learn how to do simple tasks when the software vendor decided to improve my experience.

I started thinking about ways to reduce and perhaps totally eliminate my dependency on particular software vendors (and that wouldn’t be just Microsoft — Apple plays the exact same game — and don’t get me started on Google).

Certainly there must be quality software out there that was built on the paradigm that computers are tools and that they should improve an individuals quality of life, not create a life centric on a computer and a religion based on software.

I’ve already published many articles about my quest to find an operating system that would is focused on usability; but my quest (with the help of many of my friends and associates) will cover every piece of software you might need or want on your computer to achieve make your day to day life simpler…

This is a big undertaking; and it will take me quite a bit of time to fully explore and write up my findings.  There will be many articles dealing with the same topics as I travel the path.

My feeling is that there are good solutions out there, and that with a little work and guidenace an average computer user can have a computer system that does what he wants without breaking the bank.

Now don’t get me wrong; my feeling is that most open source software is crap (but then again, most commercial software is crap)… but since it always seems to be a compromise, you might as well save a little cash since you’ll never really get what you want.

Originally posted 2010-01-12 01:00:12.

FileZilla – The free FTP solution

If you have a need to transfer files via FTP, SFTP, SCP, etc and you prefer to user a graphical user interface on a Windows, Mac, or Linux machine — then the Open Source FileZilla is a very good solution to consider.

Just download the client, install it, and within a few moments you’ll have a connection to a server (that you can save the information for quick reuse if you like).  The interface is clean and easy to understand, and supports drag-and-drop as well as transfers from the multi-pane manager.

And, you can’t beat the price – FREE.

http://filezilla-project.org/

Originally posted 2011-09-13 02:00:47.

Cloud Storage

 There are tons of free (and paid) cloud storage services… and you can use more than one of them (I actually use all of the following myself).

 

Amazon

Amazon changes their cloud storage option fairly often, currently it’s 5GB free with 250 songs — the subscription for storage and music storage are separate now.

 

Box

50GB of storage.  Works with Windows, Max, Android, and iOS – plus there are several other apps that allow easy migration of files to Box.

 

DropBox 

2GB of storage plus an extra 500MB for using the above link to sign up (there are other bonuses you can get as well).    Works with Windows, Mac, Linux, Android, iOS, and BlackBerry.

 

GoogleDrive

If you have a Google GMail account (or Google App account) you already have this, just sign in to activate it.  Works with Windows, Mac, Android, and iOS — probably others as well.  The storage amount you get seems to vary based on when you sign up.  NOTE:  Google Music is stored separately.

 

SkyDrive

If you have an MSN, HotMail, Live or any other Microsoft hosted/provided account you already have access to it.  Works with Windows, Android, iOS — probably others as well.  The storage amount you get seems to vary based on when you sign up.

 

Ubuntu One

5GB of storage, plus an extra 500MB for using the above link to sign up.  Works with Windows, Mac, Ubuntu (Linux), Android, and iOS – plus can be used automatically to store large Thunderbird attachments (great if you’re sending the same attachment to several people).

Originally posted 2013-08-27 11:10:21.

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.