|Integrating Linux into the SME
by Michael C. Barnes (Aug. 25, 2008)
Foreword: This article summarizes the experiences of one small- to medium-sized enterprise (SME) using a heterogeneous mix of Linux and Windows XP systems. Written by the founder of an international PC distributor, it compares and contrasts various Linux-based distributions, and assesses their suitability for business use. Enjoy . . . !
Integrating Linux into the SME
by Michael C. Barnes, president, Norhtec
My Company, NorhTec has tried our share of commercial Linux distributions, including Mandrake, Caldera, Lycoris, ELX, and Xandros. Initially, I saw that the commercial distributions, while often more cosmetically appealing, would be less functional and harder to install software outside their distributions. When I first wrote about Linux on the desktop, I received several critical responses to my praise of Microsoft XP, and statements that Microsoft XP was more mature than the then-available Linux Desktop distributions.
In the Microsoft Windows world, Vista is now the current offering. Microsoft's Vista has received mixed reviews. Despite its supposed security enhancements and additional eye candy, there remain several issues discouraging wide adoption. Among these are:
Four years ago, I standardized our company on Mepis Linux for our office workers. Our engineers used Microsoft Windows because they needed it to run their CAD/CAM software, and we use Centos for our server for accounting software and hosting our website.
- Compatibility issues
- Hardware requirements
- Performance issues
- Confusing versions with different feature sets
- Additional centralized control over desktops by Microsoft
I have continued to test new Linux distributions. I have held back on reviewing my results because there is always a catch-up from one distribution to another. One distribution will leapfrog another, or a given version of a distribution might not support a critical piece of hardware.
It is important to understand that the differences from one Linux distribution to another are not that great, so far as the user is concerned. The factors that determine which Linux distribution is most appropriate include:
Let's look at each of these areas in detail.
- Compatibility with hardware
- Installation ease
- Repository system
Compatibility with hardware
There have been several times when I have wanted to use or test a given Linux distribution, only to find that it didn't work well with my hardware. It can be very frustrating going through a long installation process only to find that a particular printer, scanner, or pointing device doesn't work. One of the things that makes it easier is the proliferation of live CDs. Live CDs boot into a fully working OS before installing the OS onto the hard disk. Over the years, I have found that Linux distributions are getting much better at detecting hardware.
All in all, Linux distributions have reached the stage where hardware compatibility should not be an issue. In fact, there are many hardware devices that were left behind without driver support from Windows 2000 and Windows 98 that will work well with Linux.
Installation refers to both installation of the operating system and installation of the applications. When I first started using Linux, some distributions, such as Slackware and Debian, were a bit sparse in the user support given during the installation process. Redhat and Mandrake used Anaconda to hand-hold the user through a pretty friendly installation process.
Today, the Live CD installation process makes it possible to boot a CD, test the hardware, and then install the entire system in less than 20 minutes. I prefer this method.
Most of these distributions allow the user to run a utility that works like Partition Magic called Gparted. Gparted allows you to set up your hard disk to install Linux on your system. This is particularly useful when you want to adjust the size of your existing NTFS or FAT32 partitions so that you can install Linux on a dual boot system. I have used Gparted on Live CDs of Linux to fix existing Windows installations.
Gparted, graphics disk partitioning tool similar to Partition Magic
(Click to enlarge)
If you are installing Linux on a fresh hard disk, then most Linux installations will automatically partition your system to use the entire disk or the remaining space in an existing partition. For those familiar with installing Windows XP or other version of Windows, they will discover the process of installing Linux easier because when the installation is completed, not only is the OS installed, the applications and drivers are also installed.
Debian derived and Ubuntu-derived distributions use the apt-get package management system. The user has a list of locations called repositories that they can add to their system, after which the system will look to these locations for new software or updates. The apt-get system then updates the system as the user desires.
I have employees who have been using Mepis Linux for four years. These systems have remained rock-solid, and we do periodic updates through the Internet.
Debian uses deb packages, ending in a .deb file extension. Red Hat derived distributions use the .rpm extension, and RPM packages. A program called Alien allows users to convert from one installation format to another. Some .rpm based distributions have repositories for .rpm applications, much as Debian-based distributions have repositories of .deb packages. PCLinuxOS is one such RPM-based distribution.
From my experience, I would rate the following Linux distributions as superior in terms of installation and updating in the following order:
- Puppy Linux
- Debian based
- Ubuntu based
Almost all Linux distributions today use some sort of package manager system that updates applications over the Internet. Most of these systems either use or emulate apt-get from Debian. Today, Red Hat/Fedora, Slackware, and other distributions offer some procedure to update and install software over the network.
Mepis Linux was originally based on Debian, but decided to change to Ubuntu. Ubuntu is based on Debian as well, but Ubuntu created a repository system outside the standard Debian repository system in order to offer specific versions or faster access to new versions of software.
Freespire and Mepis announced they were no longer using the Ubuntu repository system exclusively. The reason stated was that each release of Ubuntu was almost like a completely new system, and that binaries from one update to another would not work. I have been running the Mepis version 7.0 as well as the Ubuntu based 6.5. From a users perspective, there doesn't seem to be any difference. However, as a business manager, I can clearly see the desirability of being able to continue to update a system before having to do a complete reinstall for as long as possible.
I have tried several Ubuntu based distributions. The one that I like the best is Mint. Mint (excuse pun) comes in several flavors. I have tested the XFCE based version as well as the KDE based version. Mint uses the Ubuntu repository features a more complete install than Ubuntu.
In terms of repositories, I would rate the following Linux systems the best I have tried as:
- Debian based
- Ubuntu based
- Honorable Mention -- Slackware based systems using slaptget or swaret
There is a small Linux distribution called Delhi Linux that will even run on 386SX based computers. I have recently tested it on our new Vortex86SX based computer, the MicroClient JrSX. The Vortex86SX is a 300 Mhz System On Chip (SOC) based CPU. The Vortex86SX offers very high energy efficiency and very low-cost x86 computing. The biggest drawback is that it has no math coprocessor. Deli Linux provides a complete graphics environment with browser that can run on this modest computer. Deli Linux could generate new life into very old desktops and laptops as well as making computer devices costing less than $100 useful.
Puppy Linux offers the best performance I have seen of any OS running on a given computer. Puppy Linux installs all the applications into RAM so that they run instantly. Puppy Linux has no eye candy to speak of, but for sheer performance, it is the best.
I recently installed Mepis 7.0 onto a 1Ghz Celeron M for a new employee. We installed 256 MB RAM on the computer. Our mechanical engineers all use Pentium 4 or Intel Duo Core computers. Most of our other employees use VIA based systems with anything from 600 Mhz up to 1.5 Ghz. All of these run Mepis Linux except for a 1.5 Ghz VIA C7 based system that is using PCLinuxOS.
After installing Mepis onto the Celeron M system, I was quite surprised at the performance. My laptop and my desktop both use 64 bit AMD CPUs. I run Windows XP on my desktop and a dual boot Mepis Linux and Windows XP on my laptop. The performance of the 1 Ghz system seemed to be as snappy as my 64 bit desktop. My desktop has 2GB RAM.
As much as I like PCLinuxOS, we determined that it did not provide us with the level of performance we expected. There is a version of PCLinuxOS called TinyMe that is a small version. TinyMe is quite beautiful. From an appearance standpoint, it makes Puppy Linux look homely. TinyMe might be a very good distribution to host a single RMP based application, such as a POS application. It was a bit too sparse to use as a business system.
Ubuntu based distributions offer very good performance. I tested Edubuntu on a 500 Mhz AMD Geode LX500 with very good results. It even ran -- though slowly -- on the 200 Mhz MicroClient Jr. Ubuntu also offers Xubuntu, a higher performance XFCE based distribution. Mepis offers Antix as their higher performance version.
Having tested many Linux distributions for speed, we have found that in general, Linux distributions run faster on hardware-constrained systems than Windows XP does. I am sure this is even more true for Vista. I have not tested Vista yet. Puppy Linux is the fastest of all the Linux distributions I have tested, but some ancient computers can even be connected to the web using Deli Linux.
Mepis and Ubuntu based distributions seem to have a performance edge over PCLinuxOS.
There was a report on Slashdot a few months ago that people prefer whatever interface they are used to, even if that interface is inferior. When I worked for Sun, I became familiar with CDE (Common Desktop Environment), which is very much like XFCE. Each time I tried to use Windows 3.1, I was frustrated when I right clicked the mouse and nothing happened. While some people thought the MacIntosh had the best interface, I couldn't do anything with a single-button mouse.
I mentioned that we hired a new person recently. The person I hired had extensive experience with Windows XP. In fact, he had worked for a school that taught how to use Microsoft Office. After installing Mepis for him, I asked him on his second day how he was doing.
To me, there doesn't seem to be much difference using KDE or Windows XP as I use both of them daily. He told me he couldn't get the hang of using Linux. I sat down at his computer and made some fast modifications. The first thing I did was remove the "Go" Applet which is KDE's "Start" button. I installed KBFX, and added it as an applet to the panel. When I showed him this, his eyes lit up. I then went to KDELook and downloaded a background that looked like the background of Vista. I themed Thunderbird and Firefox with Vista-like themes. After ten or fifteen minutes, he was quite happy.
Nothing that I did actually changed the usability. Every mouse click was the same as if I hadn't made these changes. However, making the user interface look more familiar was like setting out a welcome mat. I also changed the login screen to look like Windows XP. Every time I see him now, he tells me how happy he is with Linux.
Mac Pup Dingo
(Click to enlarge)
I recently tested a version of Puppy Linux called MacPup Dingo. I have been a long-time fan of Puppy Linux. Admitedly, Puppy Linux has been one of the most boring looking Linux distributions available. MacPup provides a Mac like interface for Puppy without diminishing its speed or compactness. Ultimately, appearance is important. Users are more likely to accept Linux if it looks polished.
Two of my engineers are big fans of Ubuntu. One of them has even created his own live CD that he uses to replicate his particular installation. I have no reservations reccomending Ubuntu -- particularly for those so inclined to create their own installation disks. However, I believe most companies would prefer to install a Linux Distribution disk and not have to do a lot of customizing to make it completely useful or attractive to use.
Sabayon is a very cool Linux which is probably better suited for the enthusiast or gamer than for the office. However, Sabayon Linux is one of the few that come with Wine-Doors installed. Wine-Doors is the easiest to use and most complete available free tool for running Microsoft Windows programs. It might be worth testing Sabayon simply to see if a given Microsoft Windows application can be made to run on Wine-Doors. Please note that Mandriva allows users to install wine-doors from its repository.
With Puppy Linux, I have installed the IceWM and themed it to look like XP. Some Linux users might think that this is bastardizing Linux but for me, it is a simple way of getting my employees more comfortable. To date, I have never hired anyone to give training on Linux for our users. We don't even have an IT staff. Generally speaking, once we install the systems, they pretty much work.
I believe that it would be impossible to give one Linux distribution a higher score based on how it looks out-of-the box. Beauty is in the eye of the beholder and most Window Managers can be easily themed to suit individual preferences.
Mepis Linux dressed up to look like XP
(Click to enlarge)
I mentioned above that Wine, particularly as packaged with Wine-Doors, can run many existing Microsoft Windows applications. A commercial package, Crossover Linux, allows many Microsoft Windows applications to run reliably. I have used Crossover Office and found it to work very well. However, these days, I find that I really don't need any existing software when running Microsoft Windows. None-the-less, some organizations might want to run existing licenses on Linux to make the transition easier.
One trick that we have been working with is to load Wine onto Puppy Linux. Puppy Linux is quite small and will run on hardware that can not support Windows Vista or Windows XP. We download the Slackware version of Wine. Using a tool that comes with Puppy called tgz2pet, we convert the Slackware version of Wine into a Puppy installable file. This will create an ultracompact as well as free environment that will support many Windows applications. For some applications, the combination of Puppy Linux and Wine can act as a poor manís version of XPembedded.
Every business will have some specialized software that only runs on a particular operating system. However, most businesses probably do not realize how well they can operate using Open Source or free software.
I have been using OpenOffice long before I started my business. I have yet to encounter a serious issue. We use Firefox as our browser, and Thunderbird for mail. Our web master, Shafquat Kabir, set up both IMAP and POP mail on our web server that runs on Centos.
One of many web-based applications running on our ISP's server using Centos
(Click to enlarge)
Our employees can use IMAP mail on their phones, or using any browser with the SquirrelMail web mail application. He has also set up several homebrew web based applications to track customer orders and to provide real time shipping quotes.
Virtually any Linux Distribution provides the above mentioned core applications. I recently tested OpenSuse 11. Many people have commented on how well-integrated the applications are for this distribution. I agree that OpenSuse provides an excellent work platform. I didn't find it any better at recognizing hardware than Mepis or PCLinuxOS are. It took a quite a long time to do the installation compared to Mepis or PCLinuxOS.
When it comes to applications, it would be hard to praise one Linux distribution over another. Some distributions throw in everything but the kitchen sink so you have four e-mail clients, six windowing systems, and four browsers. Other distributions are more tightly integrated.
Puppy Linux is a Linux distribution I have already praised for its compact size and speed. What amazes me about Puppy Linux is how ready it is for prime time given its small size. I have worked with compact Linux distributions that use primitive editors and very basic and non-compatible spreadsheets. Puppy Linux installs a fully functional Microsoft Word workalike called Abiword and a Microsoft Excel workalike called Gnumeric. Both of these applications are very functional and compatible. It is possible to add OpenOffice to Puppy Linux. Personally, I think this sort of defeats the purpose.
It is always possible to use Puppy Linux to get onto the Internet and then access web based applications such as AjaxWrite, AjaxCalc, AjaxPresents, or Google Aps.
There are now Web hosted operating systems such as Ghost, AjaxWindows, nivio, or EyeOS. These services promise to provide a full computing experience via a browser. Users do not need to install or upgrade application software on their devices. All services are offered via a browser. These systems promise the option of accessing all applications and services from anywhere, having all backup and administration services managed for you, and the ability to access applications from any device that supports a browser.
Note: I have an AMD 64-bit based laptop. I couldn't help the temptation to install the 64 bit version of Mepis Linux. While the system is blazingly fast, I suggest that most people avoid the temptation to install a 64 bit version of Linux. There are many applications that are not available yet for 64 bit.
I already mentioned that I have seen a great deal of stability using Linux in our company. We have 14 employees who are tied to dedicated computers. We also have several laptops. All of our office staff use Mepis Linux. One of our engineers uses PCLinuxOS, two others use variations of Ubuntu. I am now using Mandriva 2008.1 on my laptop.
Most of our employees have trained themselves to trick out Mepis. Most of them have figured out how to play music, download files, use instant messaging, and probably how to play games. Most of our office staff has loaded personal photos for their backgrounds.
We have four office systems that use Microsoft Windows XP. We also have a system that DHL provided us that came installed with Microsoft XP to do shipping. We use MicroSoft XP on a dedicated system to do bar coding and printing of labels.
Microsoft XP and Linux are inherently stable. One of our computers is dedicated to shipping. Our shipping company provided us the computer free to run software they installed to create shipping labels. This computer isn't used for anything else other than shipping. It is just as reliable and steady as any Linux system we have running.
Our big stability problem is on the Microsoft XP systems our engineers use. My biggest challenge is to stop them from installing their own software. I constantly check the computers to look for unauthorized software. I always find it, too. It seems we are constantly reinstalling Windows on the Microsoft XP based systems, because of viruses. Experience shows that it is the human factor that is the biggest problem, and the knowledge or lack of knowledge Microsoft users have is the greatest threat.
Most of the problems we have experienced with Microsoft XP are self-inflicted. Our employees load infected software, visit dangerous sites, or fall for various malware schemes. Our Linux users and our Microsoft XP users both have a lot of freedom how they use their computers. Linux is proving to be more stable, for the main reason that Linux itself imposes more control over the users and provides them with less opportunities to get themselves into trouble. Most of our office workers have no idea what the root password on their Linux based system is so they are not able to get themselves into real trouble.
As I previously mentioned, configurability is a double-edged sword. A system that can be infinitely configurable can become unstable or unusable when improperly configured. A system that is too rigid can be inflexible.
Debian based distributions such as Ubuntu and Mepis provide a great deal of flexibility, but the administrator can control the degree of flexibility by limiting the repositories available. Most Linux window managers give the user a great deal of flexibility to personalize their desktops. This ability has proven to be my best weapon to get users to accept Linux. I don't spent time showing them how to use Linux. I spend time showing them how to personalize Linux. Each user has their own idea of how they want their system to look. Giving the freedom and knowledge to personalize their desktop environment empowers the user.
When I first started the company, I was under a great deal of pressure to use a Windows based accounting system. Our investors and board members wanted us to use QuickBooks so that we could send them the accounting data in a format they could easily use.
I had worked for Sun Microsystems during a time when their business system refused to scale. Sun had a business system that was designed to operate up to $100 million USD, but they had stretched it to $1 billion USD. When they tried to do a transition, they found themselves unable to take orders or ship product. Sun eventually fixed the problem, but in the process they learned an important lesson about scalability.
I wanted to build a system that would scale. I wanted a system that ran on a database and could be used by an unlimited number of users. We started using Quasar from Linux Canada. Quasar is open source, but we bought e-mail support. We run the server on a Pentium 4 based Power Server running Centos. The Power Server is set up to support RAID. We then run the clients on each of our desktops. We have two locations so we configured our Linksys routers to create a virtual private network. We are able to access the Quasar system. I have considered the idea of hosting our accounting system on our web hosting service which is something we might do as our company expands.
Quasar has been the most controversial choice I have made. It is not easy to set up, and it isn't easy to use. None-the-less, we are now managing four separate companies using Quasar. We have seven people who access the system at the same time. Quasar has met my primary goal of scaling. None of our people have received any training or hand holding to use Quasar. We have been using Quasar for five years, and it has allowed us to grow without worrying about our accounting package falling apart. All of the data is stored in a SQL database so we are confident that if we grow to the point of needing an expensive enterprise grade financial package, we should be able to migrate the data easily.
As mentioned before, we host our e-mail on Centos as well. We have Centos running on our web hosting service. We are able to buy more bandwidth, storage, and get other features free. Our web master is based in Bangladesh. He has done an amazing job keeping our system working for all these years. All of our employees have e-mail, which we access on a variety of devices.
Our company has been Slashdotted a few times. When this happens, our server will get over a million hits in a day. So far, nothing has crashed.
The way we have set up our systems validates Linux's scalability. Our company has quadrupled our business, but our staff is roughly the same size as before. As we add staff, we can focus on sales, engineering, and other revenue-generating individuals rather than continuing to hire administrative staff. We have managed to handle increased workloads without changing out our hardware or changing out our software.
We are currently hiring people in Africa to do some redesign of our website. We set up a Power Server in Thailand. We have a satellite Internet connection back to Abuja, Nigeria. This connection now allows us to hire people in Africa. Ultimately, we hope to expand this. As a side benefit, Africa is now one of our fastest growing markets. This year, we will generate five percent of our income from Africa, and our goal is to continue to reinvest back to Africa to create high quality jobs.
I use MicroSoft Windows XP on my home desktop. I use Mandriva on my laptop. When I go to my factory or office, I use Linux. From my experience, Microsoft Windows XP can be made secure. However, out-of-the-box, Microsoft XP without additional software would become a virus sponge and spyware magnet.
There are free and open source tools that will protect Microsoft XP. Clam Antivirus or AVG provide excellent virus protection for no cost. AVG is free for non-commercial users. Spybot Search and Destroy does a great job cleaning spyware. It is important that users become better educated to avoid infecting their computers by falling for phishing schemes or going to malicious websites.
It is unfair to blame Microsoft. It is the wide use of Microsoft Windows that attracts dedicated attention to exploit vulnerabilities. Microsoft has demonstrated that they are concerned about security and that they are quick to fix vulnerabilities once they are discovered.
Our webmaster tells us that our web server has come under attack. We have also seen our local server running at our factory come under attack. To date, none of our systems have been penetrated. Our webmaster imposes very strict controls and issues very strict passwords. Most importantly, we protect our customers' personal information by deleting it from our server after a fixed number of days so that we never accumulate a lot of sensitive information that would attract any interest.
We use Skype for instant messaging because it provides us with an encrypted communication tool. We use SSL to create secure tunnels and limit our employees, giving them limited access to their systems.
In five years, we have seen that all of our security issues have occurred on Microsoft XP based systems. All of these were caused by users loading unauthorized software or using the computers in unauthorized ways. The Microsoft XP systems that are used for dedicated applications have remained uninfected and secure.
It appears that whether or not Linux or Microsoft is inherently more secure than the other, users themselves are forced by Linux to behave more securely. Individuals have less access to the heart of the system to do dangerous things, and Linux systems appear to be less vulnerable to existing attacks than Microsoft Windows.
The small price to buy Microsoft Windows shouldn't be the main reason to consider whether or not an enterprise chooses to use Linux or not. On the other hand, the large number of applications available for Microsoft Windows should not be the sole reason to choose Microsoft Windows either. Many have claimed that Linux requires better educated users than Microsoft Windows. Our experience tells us otherwise.
At work, I use Linux, at home I run Microsoft Windows on my main desktop. I run Mepis Linux on my laptop. I consider myself knowledgeable and responsible enough to use Microsoft Windows safely. The problem that every enterprise faces is that the enterprise is most vulnerable inside the firewall. Limiting the number of Microsoft Windows systems to those users that require it to do their work has minimized the amount of time and expense other enterprises face cleaning up viruses and other problems.
We have found that our workers are able to complete their tasks using the software that comes preinstalled on Linux. We have found that using Mepis Linux, we can set up a new system or reinstall on an existing system in 20 minutes. I have a policy of never spending too much time trying to fix a problem. We back up the data and completely reinstall the entire system should we experience a problem.
We have not had to provide any special training to new employees that we hire. The only thing we train users how to do is how to decorate their desktop, and we give them full freedom on decorating their system. We do not restrict users from any of the tools on the computer. They are free to use Instant Messaging (IM), music players, VOIP, and web browsers as they like. Our focus is making sure the work that is assigned is done on a timely basis.
We have standardized on four distributions. Mepis Linux is our standard business system. As stated earlier, Mepis has not been updated recently so I have personally started using Mandriva. I am not prepared to switch my entire company over to Mandriva, but it is now my personal favorite. If I were to transition my company to a new Linux, I would either convert everyone to Debian or create our own installation based on Ubuntu. Mint Linux is my favorite variation of Ubuntu. Some of our staff use PCLinuxOS. Our more experienced users like PCLinuxOS because it gives them access to RPMs. PCLinuxOS looks more polished than Mepis Linux.
We install Puppy Linux on our least expensive devices that we sell to customers, and we use it to revive computers that would otherwise be worthless. We can use an old screen, a USB thumb drive, and Puppy Linux to create a guest computer for visitors or roaming employees to get online to use our web based mail or other web tools.
About the author -- Michael C. Barnes is currently president of NorhTec. He has over 20 years experience with computers and another 10 years experience with more primitive networks, to include paper tape and morse code. Additionally, he has 18 years of experience with various Unix systems and spent 13 years with Sun Microsystems.
Barnes became fascinated with GNU/Linux turned the common PC into a Unix like workstation. By 1998, GNU/Linux surpassed the desktop environments offered on traditional Unix workstations. When GNU/Linux is combined with low-cost x86 platforms, organizations now have the power to create enterprise computing for the small organization.
Born in Kentucky, Barnes now lives in Bangkok, Thailand with his wife, Linda Kubota-Barnes, and his daughter, Karen Barnes.
Do you have comments on this story?
NOTE: Please post your comments regarding our articles using the above link. Be sure to use this article's title as the "Subject" in your posts. Before you create a new thread, please check to see if a discussion thread is already running on the article you plan to comment on. Thanks!
Also by Michael C. Barnes
(Click here for further information)