I know that you're out there. You've heard of this "linux thingy" and thought you might give it a spin on the weekend. You gave it a whirl, started the machine up, and something didn't quite work as expected.

I've done admin work in both Windows and Linux. I've also watched people "struggle" with trying to grasp Linux. This appears to happen again and again, so the question(s) become:

  • What were your expectations?

  • How were those expectations not met?

  • What was the basis of those expectations? Was it your prior experience?


The most coherent answer with complete examples will be awarded. If I can't find an answer that explains the bulk of difficulties encountered, this will be turned into a wiki.


Re-edited the title to make it 'less inflammatory'.

  • 1
    Should probably be community wiki? – squillman Jun 8 '09 at 18:05
  • I thought about that, but I have a very specific question in search of specific answers. If it gets "out of hand", if people can't focus on the core elements of why this process went wrong for them, then yeah, turn it into a wiki and let people take braindumps in here. But until then, I really, really want to know why the barrier-to-entry for something that has become simple is so high for skilled, experienced administrators. – Avery Payne Jun 8 '09 at 18:14

10 Answers 10


I could see a big expectation let down with Windows admins who think that everything can be solved via some GUI tool. This shouldn't even be assumed in Windows...


Some more specifics that I've heard of or run into personally:

  • Devices as files in the file system
  • Different distros put the same binaries in different places
  • Keeping track of what happens in which different run level for the purposes of startup and shutdown (although it is nice to have the granularity in my own humble opinion)
  • What the he!! distro is good for what.
  • Keeping track of what abbreviations mean what in files, device names, shell commands
  • Keeping track of what switches do what for all of the shell commands
  • Which command line shell is best for what and why
  • Keeping the darn thing updated (although this has gotten significantly better in the past few years!)
  • Apparent necessity to recompile down to even the kernel in order to get certain features enabled or disabled
  • Driver support (even though this is also an ongoing battle every time a new Windows edition emerges :)
  • "A computer should be pretty" instead of white command text on a black or dark-blue background.
  • Is it free? Is it not free? Isn't EVERYTHING in Linux supposed to be free?? What do you mean you write software for Linux and you want me to pay for it?? (seriously, I've seen this one out there...)
  • What do you mean "IFCONFIG" <> "ifconfig"?? So what if I've got caps-lock on?

I think there are a lot of expectations of "do it for me" coming into an open-source world from a closed-source world. In the open source world there are a ton of options available to you that you don't see in the closed-source world and frequently it's up to you to wade through them to determine if they're right for your environment. If you're born into the closed-source world this is a bit of an eye-opener.

  • I think your last lines hit the nail on the head. Alot of this is a "cultural" issue and many people have been brought up in one or the other but not both. As such, it's a natural experience to have "culture shock" when you move from where you're at to where you're trying to get to. – Avery Payne Jul 11 '09 at 20:34

I think the biggest problem is mapping common tasks using that I use in Windows to Linux.

In Windows, I can pretty easily figure out what's starting up when the machine comes up. It took a while to find that equivalent in Linux.

In Windows, I can see all the devices and files associated with it's driver. I can easily diagnose problems. In Linux you have to know what you're looking for in /dev or forget it.

Same with understanding drives and partitions. In windows, a hard drive is a hard drive, where in linux, is it a scsi device? IDE?

Setting display settings. xorg.conf, window decorators and changing settings in cde, kde, gnome were all different from Windows, and confusing since each distro is different. Remote displays, display redirection, etc.

dealing with USB devices

User accounts and Security groups. How long before you figured out what the wheel group was?

Kernel modules were a mystery

  • 2
    +1 for excellent examples. This is the kind of information I'm looking for. – Avery Payne Jun 8 '09 at 18:17
  • 1
    Thanks! I have more examples. What programs are installed and where to install them? Want to find a file? Good luck. I particularly hate "find" for this. I wish I could go back in time and explain to myself why all errors were echoed to the screen and how in the hell I was supposed to figure out that 2 has secret meaning for these errors and that to get rid of them I would need to send them to a device that was the equivilent of a black hole. By this I mean "find / -name 'something' 2> /dev/null – MathewC Jun 8 '09 at 19:00
  • 1
    Case sensitivity has meaning in *nix. Not so much in Windows. Windows hides other stuff that you wouldn't otherwise find out. . and .. are files that are actually ways to navigate. Folders are files, and linux will let you edit them and screw yourself over Compiling software. What is make? What "make install"? What's the difference? – MathewC Jun 8 '09 at 19:04
  • "Folders are files, and linux will let you edit them and screw yourself over." My friend, you have just encountered a hole hawg. steve-parker.org/articles/others/stephenson/holehawg.shtml You have my sympathy. Cheers. – Avery Payne Jun 8 '09 at 19:10
  • 1
    HA! Thanks for the link. I've heard this before as: "I'd like to jump off the cliff"... Windows: "Are you sure you want to jump off a cliff? it's dangerous and there's no reason to"... Linux: "you are dead" – MathewC Jun 9 '09 at 13:46

Mostly that they are two very different beasts, and that there is no way you can take what you know of Windows and try to map it to Linux/Unix. The same applies in the reverse direction of course: I've seen folks who I would rate as very competent Unix admins having genuine difficulty with Windows. I'd safely enough say that 90% of the problems people have arise from bringing preconceptions from one environment over to the other.

  • +1 - in my personal experience, this has been the crux of the issue. I have seen many admins struggle with concepts because they "brought their baggage" from the other OS along with them. I always advice people when learning Linux to "forget what you know, it'll be wrong". – Avery Payne Jun 8 '09 at 18:25

I'll bite.

  1. I expected to find drivers for all of my hardware from the manufacturer's website. This being the case for Windows, I figured it was a legitimate idea for Linux. Not so. Most of the drivers you need are either 3rd-party reverse engineered drivers found on SourceForge, or are already in the kernel. Which leads into:
  2. I expected that manufacturer's drivers were going to be better than open-source drivers. Not really. Sometimes they have uses (the nvidia and ati proprietary drivers, for example), but the ratio of good-to-awful drivers is about 50/50 for proprietary, and 85/15 for open-source drivers. Having a distribution that includes a lot of software makes it easier to access such drivers.
  3. I thought that everything would "just work" off the bat. In many cases, it did, but I realized that Linux isn't like Windows in that regard. Linux doesn't do anything until you tell it to. This works very well when you're an expert, but it's hampering when you don't know what to tell it.
  4. I thought I'd pick it up quickly. I didn't. It took about 3 years of reading, experimenting, and fixing (and sometimes reformatting) until I really got the hang of it. Make sure you have a test server to experiment on, and do don't anything to production until you're sure it works.
  5. Read the Rute Guide. It's your friend.
  • +1, excellent examples re: device drivers, availability of drivers vs. quality of drivers, etc. – Avery Payne Jun 8 '09 at 18:21
  • Re: proprietary drivers; nVidia are the only ones of good quality. Every single experience I've had otherwise was 100% negative. – niXar Jun 26 '09 at 8:15

My biggest issue was coming mostly from the GUI world of Windows and OS X... and thinking I could do what I needed from a GUI in Linux. In this first I try failed miserably. My second try was setting up everything from CLI, and that was actually WAY better. Right now, I still don't think I can do everything I want from the GUI.


I started out doing Windows admin, and then moving into Linux administration. There are still somethings I don't know how to do well.

Like most of the others, going from an all GUI environment to more or less command line / config editing has been by far the biggest challenge. Also learning where everything lives has been a pain point for me. The best thing I have done lately is to try and learn how ONE of the distros does things and stick with it.

Like the others I expected everything to just work and to find the drivers straight away on the manufactures web site, but as previously stated that is often not the case. I still can't get the wireless in my laptop to operate in any Linux distro.

Storage has also had a steep learning curve to it. Learning about LVM and disk partitions in Linux has been a struggle for me. In Windows is by default one big drive, but in Linux there are a few different partitions by default, and if someone is doing NFS shares with symbolic links it can really confuse the new to Linux Windows admin.

Users, groups, and file permissions...Users are simple enough, groups by them selves are also simple. Trying to figure out the best way to do complicated file permissions, not so fun.

Working with NICs and the networking system in general has also taken a while longer than I anticipated. I can get things setup pretty quickly (while doing the install) but for a while if I had to make a network change it was a struggle.

Package management / program installation I now know that I can use YUM on CentOS and apt-get on Ubuntu, but what if what I want isn't packaged up yet? Or the package on the third party repo is broken, doesn't include the features I want? I have to WHAT? BUILD IT? REALLY? That to me has been the biggest stumbling block for Linux.

  • +1 for the "build it" comment: this is a major falling-down point for Linux. It really needs to shake off it's "primary target audience is programmers" thing before it can gain more widespread use. – Maximus Minimus Jun 8 '09 at 22:27
  • While it's not too hard to learn to do builds, it can still be a hurdle for some folks, esp. if the system does not have a compiler installed(!). That said, I've seen newer projects start to include the packaging "hooks" in the source to make this easier. At some point I would not be surprised if "source-only" programs can be easily hooked into the system with the existing yum/apt tools (provided they standardize on how to provide those build hooks). So instead of apt-get install X, it'll be like apt-build install X, or something similar. – Avery Payne Jun 9 '09 at 1:17
  • If you want to go further, you will have to learn how to build packages yourself. Start with taking an existing package and modifying something (like a config option). Most software is actually almost trivial to create a package for as all they require is configure; make; make install – Paul de Vrieze Jun 9 '09 at 8:55
  • I now know how to build things and get them installed, but I still need to learn how to build packages, RPM's in my case, to truly get the most out of Linux. I was mainly stating that building programs can be a huge block for Windows admins. I don't know how many times I had to re-build something because there was some switch I left out. – steve.lippert Jun 9 '09 at 14:41
  • build it? simple, you learn how to make RPMs. It's not that hard. – niXar Jun 26 '09 at 8:02

I ran Ubuntu Linux for a couple years before recently switching to Windows 7 on my primary laptop. I found the learning curve to be fairly time consuming but also rewarding as I love to learn new technologies. I had to run XP in a virtual machine due to my addiction to Outlook 2007 as well as some Win-only gui mgmt tools. Working between the two OSes was a bit tedious, especially when I had links or attachments in Outlook that I wanted to open on the host machine. On the other end, it was nice to have both systems running concurrently for testing of anything that came up. In the end I decided to switch back to Windows with a Linux server available for testing.

  • +1 for real-life experience, along with how it fared for you. – Avery Payne Jun 8 '09 at 18:18

My take ...

Windows abstracts away a lot of things, and those abstractions are taken for granted by Windows folks. This starts with the alphabet soup of *nix flavors and distributions. There are lots of decisions in *Nix that Windows has made itself.

1- Working from the command line and config files - many Windows folks struggle with it, because it is so rarely necessary in basic Windows installations.

2- file system permissions, chmod, the numbers, etc. Linux permissions often just don't compute initially to Windows folks.

3- The gui systems (there is more than one???) versus the shell. X, K, gnome, bash, and so on.

  • +1 an interesting take - esp. "Working from the command line and config files - many Windows folks struggle with it, because it is so rarely necessary in basic Windows installations." I sense another question coming on - how many windows admins remember INI files? ;) – Avery Payne Aug 9 '09 at 23:18

After getting my feet wet as a Windows admin, I switched a home box over to linux (I think it was an early RedHat). I'd gotten fairly used to getting quick & direct answers to windows issues (even back in the mid-90s) with a quick search. I found that with linux, even when I could locate a solution to my problem online, I still had a huge learning curve before I could comprehend the answer.

The straw that broke the camel's back was my beloved Logitech 3-button mouse (not like you kids today and your fancy scroll wheels, dadgummit). I managed to find someone who'd made it work, but tracking down the various parts of the explanation that I didn't understand just broke my urge to "give it a spin".

The resources are likely much better now, but I'll wager the learning curve is still steeper than your typical windows admin is used to.

  • To paraphrase (the now defunct) General Motors, "This is not your grandfather's Linux". Give Ubuntu 9.04 a spin sometime on an older computer. You don't even need to install it, it will live-boot from the CD (although it will run slower because of it). You can even install from the live-boot session while still using the CD! Give it a try sometime. – Avery Payne Jun 10 '09 at 7:36

As a Windows administrator, what were the issues you encountered with trying to learn ANY linux distro?

Condescending people, some of whom were not even born when I first got exposed to *nix, patronising me with talk of "this linux thingy" is one of the biggest problems I've found. Kinda puts me off the whole thing really. Well that and the whole "read the source code and figure it out, wintard" attitude I've encountered in the past.

Linux isn't exactly difficult to use in and of itself.

  • Actually, this question was an offshoot of this one serverfault.com/questions/21159/… which had some rather "interesting" responses, one of which equated to "because it's not Windows, linux-loser". The question was meant to honestly look for those issues that block Windows administrators from using Linux distros. Please, don't read so much into the title. And I'm pretty sure that I was around when you got exposed to *nix as I was born in '68. ;) – Avery Payne Jun 8 '09 at 23:50
  • 2
    "Linux Loser" huh? Just goes to show there are fools and zealots wherever you turn huh. Avery, I work in education and every year I encounter new first year students who act as if they themselves invented Linux (they've often never heard of 'Unix') and assume that the only reason we haven't migrated to Linux on campus is because they have not yet taken the time to explain to me why 'Linux r00ls, Windows and Mac Dr00lz' in painful detail. That's where the comment about people who weren't born when I first saw *nix came from. Seriously, fanatics and zealots are poor advocates. – Rob Moir Jun 9 '09 at 7:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.