And that's the real shameful thing about linux. I'd consider myself a bit above the average computer user, but tell me to use linux and I'd sit there and look at you like you're stupid.
I can't figure out how to even install things properly on linux, no matter what distro I use.
And to make it worse there are so many flavors of Linux so there are subtle differences to confuse things even more. I came from the Ultrix, Xenix, and Solaris world which makes things even more confusing being real Unix. The operating system is very, very powerful in that it can be really customized to suit the environment. This is what makes it very difficult to develop consumer applications for it. The developer needs to have multiple different ports of the same application to run on different versions because of the subtle code differences. Granted there is WINE which allows some Windows-based applications to run, but that's not the answer because it's an emulated environment.
Speaking of VMs There's some good sources to learn, and among the many of them is Oracle Linux and Solaris. You can get the pre-made environments which will build the VMs ready to install in Virtual Box. Solaris comes either prebuilt and ready to run, or as an install from the ISO, which I recommend anyway because this is the real way of installing it on SPARCs and Intel platforms.
Up until a few years ago, I used to support and operate a SPARC server and an Oracle/Red Hat server, and ran an old Sun SPARC Ultra 10 as my home server where I kept a big file share. Making the system available to the Windows-based clients was interesting because I had to download and install SAMBA which is not native to the OS. Nothing installs easy either in these environments since a GUI-based installation Wizard is a rare animal in many cases. This is true even for SAMBA which is native on Mac OSX, and in various Linux flavors, but for Solaris it was an all command line operation.
Once the package was downloaded, which was the easy part, it had to be untarred (uncompressed) using tar and gzip. The actual install involved editing a make file, and executing a pkgadd or package add install in a terminal window. After the actual software was installed, I then had to edit the conf (config) files for SAMBA to ensure the proper user logins were created, and client configs were setup. Not being familiar with the process, made this a lengthy, almost eye-glazing affair, but eventually I got it working successfully. I then had to create a startup file, which would execute on reboot should the system be shut down for any reason.
Like any system, you just need to learn the commands. What is confusing though is the similarity to familiar MSDOS or CMD Windows commands. Commands such as mdir, format, rename, all exist while there are other new ones such as rm, which is ReMove and is very dangerous. This is where people get into trouble because rm * run at wrong place can delete a lot more than intentioned.
I recommend getting some books on Linux and other 'Nix environments. You can find them on Amazon and at such stores as Barnes and Noble.
John