There's a lot to like about Free Open Source Software. One thing not to like, though, is its documentation. Few things are more frustrating than running up against a deadline, still not having things work, and not having adequate documentation to help you figure out what you're doing wrong. And, it's not just that so much Linux documentation is incomplete, there's a lot of it that's just plain wrong. This is true of both free on-line documentation, and of books that you'd pay big money for.
If you've never before set up a virtual private network with OpenVPN, you may look at its on-line how-to guide, and, you might even purchase the book. Your initial impression might be that the documentation is pretty good, and that making OpenVPN do its thing will be the proverbial piece-of-cake. But, if you install OpenVPN from your Linux distro's repository, you'll find that there are several things that the distro's package maintainers have set up differently, and that they haven't bothered to document. So, you'll end up trying to figure things out by trial-and-error, and by snooping around in the /usr/share/doc/openvpn directory to see what's there. (In the case of at least one major distro, there are also errors in the startup scripts, which keep OpenVPN from starting successfully unless you fix them. Things like that don't exactly help matters.)
A certain book on MySQL tells you about a single command that will copy and install a database into MySQL on a second computer. There's only one problem. Whoever wrote the book overlooked two small details that make it impossible for his solution to actually work. (It makes you wonder if these characters even proof their procedures before they write about them.)
Let's say that you need to set up a Samba network. There are several books available for Samba, but if you read them all, you'll find that they all give conflicting information, and you suspect that not all of them can be correct. Which one do you believe?
We could cite more examples, but you get the idea.
Now, granted, an experienced Linux administrator could probably figure things out fairly quickly. But, if you're new to the Linux admin game, how do you learn what to do when things go wrong? Fortunately, there are solutions.
If you're the new kid in your Linux shop, there's a lot you can learn from the shop's Linux "elders". Be sure to pay attention, and ask questions when there are things that you don't understand.
Linux Users Groups:
Most Linux Users Groups will have mailing lists that you can subscribe to. If you have a question, post it to the mailing list, and perhaps someone will have the answer. If you live close enough to attend a group's meetings, you'll be able to learn a lot from interaction with the other members. A quick Google search should help you find the nearest LUG.
Most major distros will have an on-line forum for people to post questions. If you don't find what you need there, you should be able to find some generic Linux forums by performing a Google search.
Google Searches on Error Messages:
Sometimes, if things go wrong, you can find answers by copying and pasting the error message into a Google search. This should take you to forums where other folk have experienced the same problem.
Take a Course:
Depending on what your specific needs are, this could be your best option. And, if you take an on-line course, you can go at your own pace and on your own schedule. You'll want to look for a vendor that provides instructor support and time on live practice servers.
All is not lost with the Open Source documentation game. Sometimes, you just need to know how to dig.