Howto migrate to Linux

Tips and ideas for a sucessful migration to Linux

Rentalia.com was a small company when I migrated it to Linux. But it had the typical problems that a small or medium company may have when migrating to Linux. This guide tries to help to avoid these problems, and you can learn how we did it at Rentalia.com.


Advantages of Linux

  • The company will spend less money in IT resources. Less license fees (free in most cases) and less hardware is needed to run the same services in Linux.
  • Technical Department will spend less time fixing problems and they will have more time to improve the company's IT services. Due to the open-source nature of Linux, the IT department will have unlimited control on the software it uses.
  • The employees of the company will have faster computers with less problems, so they will work more efficiently.

How do I start a Linux migration?

First of all you need information about the software and hardware:
  • Enumerate non customized programs that are being used under Windows. Split it into two categories: "user programs" (Internet Explorer, Access) and "services" (Exchange mail server, IIS).
  • Enumerate which customized programs runs under Windows (for example, custom program in Access or a Visual Basic program)
  • Check hardware drivers

Non customized programs

You will not be able to find a full analogous replacement for each program, in most cases the Linux equivalents are similar but not completely equal to the original program that runs under Windows. In some cases you will see advantages with the Linux program, and in others you will have disadvantages. What you need to think of is if the software is able to accomplish the task it is meant for.

User programs

Most of users will need a Web browser, an email client and an office suite.
With those three programs, a lot of the tasks of regular office employees can be covered.
You may find listings of Linux programs on the Internet. (See for example software equivalent to Windows and table of equivalents in Linux)

Services

Linux has more and better services than Windows. The difference is that in Linux you will almost always configure those services by modifying files rather than using graphical interfaces. My point of view is that this is a big advantage, due to the fact that you are not limited by the possibilities offered by a graphical program. Nevertheless, if you miss graphical configuration tools you may try webmin.

A lot of services are available on Linux. You may search on the Internet to find which ones you need. As typical examples:
  • Mysql, postgres or sqlite for database
  • Apache, lighthttpd or nginx for web server
  • Postfix, exim, qmail for email servers
There are multiple listings on Internet, you can see a table of equivalent software in Linux.

I can't find an equivalent software

If you cannot find an equivalent program, you have some options:
  • If the program is not a service, you may try to use Wine to execute it. 
  • If the program is a service or you cannot make it run with Wine, isolate a Windows computer and access it using rdesktop. This Windows computer must be connected to the network and nobody should have direct physical access to it, everybody must connect to it using rdesktop. That way you will only have one Windows computer with the software that you cannot migrate to Linux, and everyone that needs this software can have access to it.
  • You can execute WIndows from Linux in a virtual machine using vmware or virtualbox.

Customized software

It is possible that your company has customized programs for certain task. We'll divide those programs in two different categories, depending of the programming language that they are built with: cross platform and non cross platform languages.

At this point you have to remember something very important: time is your ally. You must not be in a hurry to migrate. If you cannot change all those programs now, you can wait for the appropriate time. All programs will need to be updated and modified (when, for example, you will use the new Windows 7 or you need to make it work with Office 2010) and it will cost you money (or company's resources). So, you should use those key moments to make the changes in your customized software.

You also have to be careful when creating new software. From this point on, you should never create new programs using non cross platform languages or using non cross platform libraries.


Cross platform customized software

There are some languages that can run under any operating system, like Java, Python, PHP, etc.

If the programming language is cross platform, it will be easy to make the software work on Linux. Just search on the Internet for the appropriate documentation.


Non cross platform customized software

Some languages are not cross platform (like Visual Basic, Visual Basic for Applications, etc). You may need to use Wine to make it run, or access this application on the Windows using rdesktop.

At any case, over in time it is better to rewrite the program in a cross platform language. Remember that the time is your ally, so you can wait for the perfect time to do it.


Check hardware drivers

Some manufacturers supports Linux officially, other have unofficial support and other do not have support at all. 
You may want to know that:
  • Some companies that officially support Linux are HP, NVIDIA, ATI, Intel and Dell.
  • Most of the hardware has unofficial support.
  • The hardware that might not be supported are the products that have been only for few months on the market.

Therefore:
  • At this point, you should only buy hardware that is known to work in Linux. Don't hesitate in contacting the manufacturers before buying their hardware, to inquire about their Linux support, and also to raise the general awareness about Linux.
  • Check all your existing hardware. You can search your model on http://www.google.com/linux or load a live distribution to check out if everything works. A live CD contains a full Linux system that will load itself in the computer's RAM memory without installing itself on the hard drive or modifying anything in the system. This live system will be notably slower that a system that is physically installed on the machine, however it will enable you to test all your hardware.
  • Some types of hardware (for example backup tapes) might work in a different way than in Windows. Check for information on the Internet to find out how to make it work.

Installing new hardware
  • Most of the hardware will "just work". You won't need to install anything to make it work properly.
  • For some others, the operating system will guide you to install when the time comes. (for example if you are going to setup a new printer).
  • Finally, for the hardware that was not automatically recognized (it should be a very low percentage of your hardware) you might need to compile and install drivers by yourself, or do something "strange" to make it working. This usually happens with hardware that has been only for few months in the market, or that comes from a vendor with poor Linux support. You will find instructions about how to install these devices by searching on the Internet.


The theory is ready. Now what?

When you have everything working in theory, the time to implement has come. Remember that time is your ally.

NOTE: Normally, people that work in companies only want to have their task done. So you should plan to migrate on dates that are known not to be busy peaks.


Linux for the IT Team

The IT team will implement everything. So they should be the first one using Linux. They must be working under Linux as soon as possible, and for as long as they feel comfortable with the system. If someone in the team does not know how to use it, he should learn.

From my point of view, members of IT teams are usually able to learn new IT skills by themselves.


Linux for the users

This is the hardest part: we want regular users to start working on Linux. Note that users WILL complain,  because everything is different, you are going to change and they need to learn how to do things that they already knew in the old system. So, they may know that:

  • No one is going to be forced (at least, not at the beginning).
  • This is very good for users. They will need less time to do the tasks because everything will work better. They must know about that.
  • IT will help users in their tasks. Users are going to be high priority in the migration. If someone needs help, IT will give them a fast response.
  • Linux is very easy (especially when you don't need to administer the PCs, just use them). It is only different. And they will see it with their own eyes.

Stage 1: Linux software on windows systems: all together.

It is the time to install in Windows the software that the users will use in Linux, for example Firefox and Open Office. Install these software on the Windows systems.

You may need to explain to the users that this is the software that they will be using in the future. The current software will be removed (not yet). So, if they are in a hurry, use the old software, but if they have time, they may learn the new software. You should now explain them how the new software works. Don't explain details yet: simplify as much as possible. If they are in trouble they must be able to contact someone in IT.

This will be done on all the computers of the company. Do not install too many computers in a short period of time or you may be saturated with users questions, which would mean that they have to wait and thus will not be happy.

if users with new software are close to each other, they will discuss and solve problems by themselves. This will make this stage easier.

This stage will take as much time as most users are comfortable with the new software. When they are ready, go to the next stage.


Stage 2: Linux software on Windows system: remove old software

In this stage you will uninstall the old software, or disable it's access, for example removing Internet Explorer's direct access.

This stage will take as much time as most users are comfortable with the new software. When they are ready, go to the next stage.


Stage 3: Remove Windows operating system and install Linux

At this stage, when you are going to install Linux, most applications will already be familiar for the users, so they will feel good about using it.

Ask who wants to be first. In most of companies, there are people that like to investigate and try new things out. These people should be the firsts one to have Linux installed. At this point, install few (or only one) computer. Stay most of the week with this person, and any doubt should be solved quickly: users have to feel that IT department cares about them.

When the first user(s) are comfortable, go gradually install all computers. You can still ask who wants to be next. People close to the ones that have Linux already installed are the preference (This is because they will help themselves, and this is more efficient than an IT guy teaching them)


Stage 4: Some time later, publish an article telling to the world what finally happened

You can see our original article about the migration at Rentalia.com: we use Linux at Rentalia (article in Spanish).

Apendix I: Linux distributions

We at Rentalia have been using Ubuntu as our Linux distribution for desktops, and we highly recommend it to anyone that would initiate a conversion to Linux in his own company (as well as for an individual conversion).

Desktops distributions

Desktop distributions are Linux versions configured for normal usage on a PC. Some are Ubuntu, Fedora Core or Mandriva.

Servers distributions

Servers distributions has older, more secure and stable software for server usage. We recommend Debian or CentOS for servers.

Paying for a distribution

You may pay for a distribution if you need:
  • Official support by email and / or phone
  • Safer upgrades

If you want official support for a Linux desktop, we recommend you Suse entreprise. Nevertheless, if you want official support and safe updates for your servers, we recommend you RedHat enterprise.

Comments

A Top Pick Knol

Dear Ruben --

We are very pleased to announce that this Knol is the Gold badge winner for English Knols created in July, 2009. Congratulations. You may view your award at http://knol.google.com/k/peter-baskerville/top-pick-best-knols-of-the-month/14j3i4hyjvi88/60#.

Top writers like you may benefit from participation in the 'Google Knol LinkedIn Group', located at http://www.linkedin.com/groups?gid=2185205&trk=hb_side_g.

Please consider joining with us to add your point of view. Knol is listening!

Great work, keep it up,


Murry Shohat and Peter Baskerville

Last edited Oct 16, 2009 3:17 AM
Report abusive comment

Involve the Users

You forgot one important step: involve the users. When you are choosing your software, set up study groups to make the choice of which application to install. Include in it your best workers and your worst ones. Make sure everybody sits in on at least one of these groups. By including your users in your selection process you will find that they are more enthusiastic about the change since they feel an ownership in it. They'll be happier with it and more productive (see the Hawthorne Effect http://en.wikipedia.org/wiki/Hawthorne_effect ).

Last edited Jul 31, 2009 5:40 AM
Report abusive comment

A realistic and honest article about migration

The article fairly and honestly lists the conditions under which a transition from MS Windows to Linux can be made a success, and a good, solid way to achieve a smooth transition.

As such it makes a refreshing change from the breathless rants from Linux enthousiasts about how people ought to switch to Linux because (a) "Microsoft is Evil", (b) "Linux is a way of life", (c) "people should get used to the commandline anyway". Anyone with any responsibility knows such writings for what they are: angry rants from teenagers who are deeply "into" the latest fad, and who will impatiently yell at the rest of the world to shape up.

For those of us who have a business to support: that business comes first and any move towards Linux (which in itself can have substantial advantages) must first and foremost be supportive and not disruptive. The article goes on to list some success factors for that to happen.


Those success factors are:

(1) an IT team that (a) administrates the Linux machines (no claims here that end-users are able to manage that all by themselves) and (b) supports users if and when they have problems (no claims here that everything will miraculously be OK once you enter the Promised Land of Linux)

(2) end-users with a well-defined an limited range of desired actions (web browsing, email, office suite) (no claims of )

(3) explicit warnings to muster an equivalent for every package end-users must be able to use in the course of their work.

(4) wise counsel not to try and force the pace if some software is currently lacking, but to wait and see until a good replacement becomes available ("time is your ally")

(5) sensible advice for those who are considering a move towards Linux: the idea of only buying hardware for which Linux support is guaranteed is often overlooked, but no more than commonsense.


All in all an excellent article which deserves to be widely linked to.

Last edited Jul 31, 2009 1:17 AM
Report abusive comment

muy bueno

soy de infraestructura de una empresa y estamos implementando linux, el unico inconveniente que surgio es la variedad en hardware (hay workstations con 256Ram Ubuntu imposible!) pero los usuarios estan conformes con gnome y evolution suplantando a outlock. Saludos

Last edited Jul 23, 2009 3:25 PM
Report abusive comment

About webmin...

Nevertheless, if you miss graphical configuration tools you may try eBox Platform (http://www.ebox-platform.com)

Much easier and better integrated system for SMEs! Moreover, webmin support is discontinued in many major distributions

Last edited Jul 22, 2009 4:24 PM
Report abusive comment

no se si respondi bien en el comentario, por lo cual pongo aqui

traducción español http://knol.google.com/k/juan-pablo-carr/cmo-migrar-a-linux/11x0448mh8x6r/1#

si hay algo que no les parece bien traducido, espero que sepan disculpar y acepto las correcciones.

saludos y espero que les sea tan útil como a lo es para mi.

Last edited Jul 21, 2009 4:20 PM
Report abusive comment

Tutorial in spanish

Unlike other tutorials on this same subject, this one is concise and clear. When it's translated to spanish (as suggested by two carbon-based entities --heh-- a few lines down here), I already know of a few companies who would VERY gladly read it. Some ppl. underestimate the need of many companies to stop their unwanted relationship with Windows.

Last edited Jul 21, 2009 8:40 AM
Report abusive comment

again

May I translate this tuto to spanish and publish it in my blog and anothers forums?,

Last edited Jul 22, 2009 4:26 PM
Report abusive comment

v good :)

I'm working with PYMES ( small business ) and all servers are CentOS or Fedora.
The users still working with XP, but we started time ago to remove programs like Office etc nowdays they are using Open Office, Thunderbird, FIreFox etc and they are v happy.

Only rest remove XP, and we think wait for the next year perhaps.


grettings!

Last edited Jul 21, 2009 4:26 PM
Report abusive comment
Ruben Rubio Rey
Ruben Rubio Rey
Linux and web technologies
Sydney, Australia
Article rating:
Your rating:

Similar Content on the Web

Ruben Rubio Rey also wrote

Knol translations

Other authors have translated this knol into:

Activity for this knol

This week:

111pageviews

Totals:

7051pageviews
20comments