Background: I’ve helped a few folks migrate from Windows to Linux. The reasons vary, but most of them were simply tired of having to fight the malware or instability issues. One client was concerned purely with high security and personal privacy. Most of them asked me a lot of questions, but almost none of them were willing to research it that much for themselves. Can’t blame them; there’s way too much out there, particularly when it comes to playing with Linux. Worst of all, virtually everyone you talk to about it has a strong partisan slant to their favorite. They act like it holds all possible solutions. When it doesn’t, the problem is you, not the favored Linux distro.
If someone wants my help, I can offer only what I know. You can learn just so much about it before you lose contact with the practical considerations of real people in the real world. Linux is like that, so there aren’t many folks who keep a foot in both worlds. I’m trying to fill that void. What makes it harder is that computer technology is a moving target. What’s best today may be awful tomorrow. Still, you have to settle on something and get the work done. Computer technology shouldn’t be a religion, something you do for its own sake. It’s worth stands on how well it serves a higher purpose.
For the time being I have come to favor CentOS 7 as the primary target of migration for folks who aren’t much into gaming or entertainment. In other words, it’s one of the best for SOHO clients, or those close to it. Chances are, if you choose this path, you won’t be stuck with something that becomes overly burdensome later. The whole point is that CentOS is an officially accepted clone of Red Hat Enterprise Linux (RHEL), and RHEL is designed for corporate use. It’s the premier business grade Linux in the US, at least, and generally more adaptable than the other commercial Linux stuff (SUSE, Ubuntu Server, etc.). CentOS is free of charge.
Below is a list of things that I go through when helping someone migrate. It’s just a checklist; if you have questions, you can ask, but this isn’t meant to be a full-blown guide.
Summary Checklist:
1. If the hardware is XP grade, stick with CentOS 6; later machines can generally run 7 just fine.
2. Install with defaults for the most part. Setup networking and lock in at least one option. For Netinstall, use both the OS package repo and the update repo from the same mirror so there’s no updating after installing.
3. Software selection: Prefer KDE with the package groups you intend to use, and perhaps development tools.
4. You need 3 good passwords; root, one user and one for the wallet/GPG key. Two more good passwords for each additional user, because each has their own wallet.
5. Add EPEL and Nux repos; there are simply too many important packages not provided by the standard repos.
6. Install adaptive stuff right away, like ntfs-3g if you use external drives for anything.
7. Run through the desktop configs and make things tolerable. Become acquainted with the interface — somewhat like Windows but far more variable and configurable. Fix Freetype (involves replacing default with altered package; it’s a good way to introduce building packages with the RPM system). Set up GPG early if needed for later.
8. Learn about special packages you might use; get to know what you need against what’s available. You may have to build some, others are provided if you know where to find them. Some of those you can build should be maintained through the RPM system; others can be simply built and installed locally. (I always offer to do this for them, sometimes taking the time to walk them through a build on their own machine. I also supply RPM packages when needed, if I can build them on my own machine.)
9. Add Google Chrome browser; Adobe Flashplayer if not using Chrome (these have their own RPM repos). Chrome uses wallet, so be ready for that the first time you try to save a password.
10. Use Thunderbird/Seamonkey for email. Evolution is only for use with a special collaboration (groupware) service. Hard-core alternative is Alpine/Mutt (commandline email applications).
11. Consider Opera-beta, Pale Moon, Slimboat, and other specialty browsers. Get used to the idea of using different browsers for different kinds of tasks and additional profiles within a browser to avoid tracking and other forms of privacy contamination.
12. If you must run Win-stuff directly, use a VM (VirtualBox), especially if only one machine is available.
13. Consider migrating to cloud services for some things: Google Docs or MS Office Online.
14. Print to PDF when possible; if you really must have a print server for paper output, you’ll have better luck with a separate Windows machine firewalled away from the Net. In general, printer manufacturers make far better drivers for Windows than for Linux. Transfer documents (via Samba client; open CentOS firewall for this) and let the Winbox print them.
15. Other networking services can be set up as needed using RHEL dox (the upstream source for CentOS) or online tutorials. There is an amazing array of industrial grade services possible on CentOS.