Well, it all depends on the type of file you're working with. If it's ".rpm", it's a "package" which is installed into your system and tracked for dependencies and uninstall info, etc. (RPM stands for "RedHat Package Management"). If it's a "tarball" it's simply a compressed archive, filename could end in ".tar.gz", ".tar", ".tar.bz2". You use the tar command to extract. It's simply "tar xvf" for ".tar", "tar zxvf" for ".tar.gz", and "tar jxvf" for ".tar.bz2". On rare occassions you may also come across small archives which simply end in ".gz", use gunzip with them ("gunzip <filename>.gz").
On rare occassions developers may have simply distributed a pre-compiled binary in a tar archive, in which case you'd simply extract the archive and run the prog. On most occassions, however, tarballs store source code, in which case you'd need to compile the application. Softaware compilation is actually surprisingly simple (considering that what you're doing would be considered a job for software developers by most in the Win world). Most software can be compiled using three simple steps "./configure" and "make" and then "make install" (as root). If something goes wrong along the way is when circumstances vary widely.
For RPM-based distros (which includes SuSE), RPMs should be widely available. In fact, you should be able to obtain one for your specific distro, which is always recommended. To find rpm packages, you might want to check out this site --> (http://www.rpmfind.net
). To install a package in RPM format, simply do "rpm -Uvh <filename>.rpm". If you have no issues it should install and you're done. Otherwise, it will list dependencies which you may then have to track down (i.e on a site like rpmfind.net). Sometimes the depends may be many, and have their own depends, which then may conflict or have other issues. This is what's commonly called "dependency hell". This can be alleviated through various software utils, such as SuSE's own YaST. Personally, I'd recommend Ximian's Red Carpet 2. In fact, you might as well have skipped this whole reply and just gone straight to here, because Red Carpet 2 will solve all your probs. The Red Carpet service tracks literally thousands of software packages for the SuSE distro (and I'm sure this will only get better as Novell has aquired both Ximian and SuSE now). It is very intuitive and has worked for me 100% of the time. Here's a direct link --> (http://www.ximian.com/products/redcarpet/download.html
Coming from a Windows world you're probably used to the paradigm of software as seperate entities that install themselves and work little with anything else on your system. On a Unix-like platform, software is treated as modular components of the system. Even if you're not using a package management system (RPM, Deb, etc.), there's still numerous other examples. For instance, on Win a prog installs itself to "C:\Progra~1\<Program Name>". All files for the program are contained within that one directory. This includes libraries, executables, and misc. data. On a Unix-like system most programs will typically install themselves into /usr, with their executables (or binaries) in /usr/bin, libraries in /usr/lib, and misc. data in /usr/share. These files exist along with other apps and their data spread throughout the filesystem. The programs themselves often depend on one another, to a greater extent than you'd see on DOS/Win. For instance, in Win to write an app that copies a file, I'd probably make an API call out to kernel32.dll using the "copyfile()" function or whatever it is. On a Unix-like system I may simply execute the "cp" command instead. This is a very primitive example, but that's basically the idea.
What do software paradigms have to do with the "real [user-level] world"? Basically this will effect how you approach software installation. In the Win world I'd probably browse the web for an app I like then download and run "setup.exe". This is still possible in many ways (and when it comes to commercial software, many companies distribute their software for Linux in the form of setup scripts i.e ".run"), but it is usually much easier with Linux software to use something like apt-get (for Debs) or Red Carpet 2 (for RPMs). Basically, what I'm suggesting is when you come across software you want to install, only download/install as a last resort, otherwise RC2 should work out nicely for you :-D