> MS Zealot here
Liar. You're no zealot. ;P
> Does anyone know a decent Windows-Linux Conversion guide which explains the parallels between the two - such as how to install drivers, where the hell is
> 'Program Files',
In POSIX systems (Linux, Unix, BSD, QNX, Mac OS X in some cases, et al), files are split up depending on their role. You know how your settings go in "%APPDATA%\", libraries to in "%SYSTEMROOT%" and other stuff goes in "%PROGRAMFILES%\"? Well, in these systems, it is split up moreso, Generally, all binaries (the executable files) go into "$PREFIX/bin/", global configuration files go into "$PREFIX/etc/", unchanging data files go into "$PREFIX/share/", libraries go into "$PREFIX/lib", log files and changing system files (the print spool, for instance) go into "/var/". Just like in Windows, the system magically handles it all. (note: $PREFIX is usually "/usr", but it is sometimes something else -- I won't get into it here, but there are pretty good reasons for this).
> what do I do if I want to install software but it's not an rpm or whatever it is suse uses. (Damn, I miss MSIs & EXEs!)
That's a weird one. What do you do if it's not an msi or an exe in a Windows system?
rpm is the equivalent of msi, except that the package management is generally easier to work with. In suse, you go into Yast's "Software Management" app and it will list most programs (several thousand, generally, organized in categories and easily searchable) that people would need to install. Think of it as "Windows Update", but instead of offering programs that Microsoft makes, it offers programs that everyone makes (or like an app store, except that it's been in Linux for over a decade and doesn't cost money). On the command line, the equivalent is "zypper". You'd type "sudo zypper install firefox", for example, and firefox would be updated. But anyway, if you're using Yast, I suggest going into the "Software Repositories" section, clicking the "Add" button, choosing the "Community Repositories" radio button, and clicking next. The "Packman" repository is highly recommended, as it has a lot of apps that the suse people lack.
rpm files are what you use as an *alternate* solution if the program is not in an available repository, not as your primary means of installing stuff. Repositories can manage installation of prerequisites. You might have tried to install a program requiring .NET in Windows at one point and received an error stating that it was not installed. In the repositories, and situations like that would be subverted by the repository manager going online and downloading/installing what it needs to install the package you actually want.
Sometimes, a developer will release the equivalent of an exe installer for their product. nvidia is an example. This is a TERRIBLE IDEA that you sometimes just can't work around. Running an unknown executable as the administrative user is just asking for pain. I know, because one of my scientists here wiped out his server's entire filesystem by running an install script as root, and I had to pick up after him. rpm (in suse, mandriva, pclinuxos, red hat, et al) and deb (in debian, ubuntu, mint, et al) and various others give limited powers which simply allow the application to get its files in the right place and do some basic maintenance (like starting a daemon if it's a server app).
The third option that people seem to think is ubiquitous in Linux (it isn't ... unless it's a hardcore science research app) is that you're given the source code and you have to compile it. In 90% of these cases, the only real problem is that you might not have a prerequisite app or library installed to complete the compilation. Package management helps with that, but it's better to avoid having to do this. Still, most of the examples you just go to the command line, visit the directory, type "./configure && make install" and have some coffee. I don't remember when I've had to do this on my home machine.
> Also, is there any mail client I can use to connect to my exchange server for work email? (using MAPI \ RPC over HTTPS)
Exchange is a tricky beast. I don't think the protocol is even now publicly available (I may be wrong), so mail apps have to do weird things like (in the background) access OWA (exchange webmail) and parse the data. I use a java app called Davmail ("http://davmail.sourceforge.net") which does this and converts the information on the fly to regular email protocols (like POP, IMAP, SMTP, Caldav, LDAP) that can be used with any mail program (you set the server to "localhost" in the mail program). I prefer kmail, and one of my coworkers here uses Thunderbird, in this way.
Unfortunately, I don't know anything much about the protocols you mention above, so this might not have been useful.