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?
EDIT:
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.
CLOSE:
Re-edited the title to make it 'less inflammatory'.
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
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...
EDIT:
Some more specifics that I've heard of or run into personally:
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.
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.
I'll bite.
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.
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.
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.
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.
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.