It's basically the same, yes. On linux there are two main ways of distributing software - as source code, or as binary code (precompiled - kind of like a windows .exe file).
Source code means you need to compile it yourself, and is generally found in archives ending in .tar.gz ( which is just an archived file, like a zip file - gz is a slightly better zip algorithm than the standard PKZip one used in the windows world ). This works fine, as long as the person making the archive has documented things well, and built things like auto configure scripts, and you don't mind tracking down libraries and things you need. It is also quite slow.
So - what many distributions do is to package software, that is, someone with the same distribution as you compiles things for you, and all you have to do is to install the package. This is great, because it means you don't need to wait for things to compile, and also has a number of cool benefits:
1) things generally get placed in the proper places, and are configured for your distribution ( e.g. if I install the MySQL database server on debian using a package, it installs it, and sets up scripts to get it running on boot time, plugs in scripts to run maintenance daily, etc )
2) allows automatic upgrading - this is amazing, and AFAIK the windows world doesn't have anything that competes with this. I guess it's like windowsupdate.com for EVERY piece of software on my machine, from the kernel right up to my screensavers.
3) easy removal - no crud gets left around the filesystem.
4) dependency resolution - if you try and compile things, you'll occasionally get cryptic error messages about missing some library etc, whilst the package management systems will just FIX this for you.
Problem - It does mean that you need a package built for your linux distribution version, but this isn't a major issue for the large distributions - the last version of debian for example shipped with 5 DVDs full of packaged software ( of the top of my head there were around 14,000 packages in apt last time I checked ).
Now, the two main types of packaging are .rpm ( i.e. Redhat Package Manager ) which is used on Redhat based distributions like Fedora Core, RHEL, Mandrake etc. The other major one is the APT package system which is for Debian-based systems ( these are the .deb files ), like Debian, Ubuntu, Mepis, Knoppix, etc.
On top of this, you have another layer which can hunt down and find these things for you. For example, I can type:
apt-get install <something>
and apt will shoot off and find <something>, download it, check it's integrity, resolve any dependencies ( i.e. find and download them ), and install things. Fantastic stuff.
In short - use packages, unless you really need to compile by hand ( i.e. for low-level compile time configuration etc )
--Simon
For example proftpd.exe or proftpd.msi in linux would be somethign similar to a proftpd.deb or proftpd.rpm in linux? |