Im a newbie to linux. Ive recently installed centos server. after which i did a yum install firefox . what is really happening is it taking files from a local repository to install the app or is it going to the web?

Im a newbie to linux. Ive recently installed centos server. after which i did a yum install firefox . what is really happening is it taking files from a local repository to install the app or is it going to the web?

Ah-ha! A fellow Linux newbie!

As far as I understand it, there are online repositories for all manner of packages within the *nix communities and these are where yum pulls from.

Does that make sense? Almost like an admin install point in windows I think.

one trick on the yum front - if you don't know the package name (say mysql for instance), you can use wildcards in command. So something like "yum mys*" will go and look for every package to do with mysql and list them off. You can then pick and choose the ones you want.
I found that out by being lazy and not wanting to type full package names but seemed to work pretty well

As far as I understand it, there are online repositories for all manner of packages within the *nix communities and these are where yum pulls from.

Does that make sense? Almost like an admin install point in windows I think.

The vast majority of GNU/Linux distributions (read basically everything except Slackware and LFS) have official package repositories, which are maintained by the distribution. Typically distributions will add a bit of branding and things like bugfixes or minor patches to customize things to the way each particular distribution works.

Distributions with version releases (e.g. Ubuntu, Debian, Mandriva, Fedora, almost everything except Gentoo) keep packages frozen to a given version within each release of their operating system. So with Ubuntu 8.10 you get Apache 2.2.9, and that's what you'll have until the next Ubuntu release comes out (that would be Ubuntu 9.04, coming out this April). The idea here is that you get a stable working system, and you know programs won't change major versions unexpectedly behind your back. They still backport the most serious bugfixes and security fixes from future versions, though.

Distributions with a rolling release (of which the most notable is by far Gentoo) work in a different way: there are no frozen versions, in fact there are no fixed releases at all. The whole operating system is simply a single continuous product. When a new version of a given program comes out, it is first imported into the repository as unstable, then after any necessary patches and fixes it is marked as testing, then finally it is marked stable and ready for the general public. Needless to say, you can opt to install a given program in any of these stages - Gentoo is about you controlling your own system.

Gentoo is different from most distributions in that it is "install and forget". It doesn't matter if you installed Gentoo back in 2003 or if you installed it yesterday from scratch; as long as you kept up with the updates as they came out, you will have the same packages and the same versions. Note this doesn't mean stability is any less of a concern, though: it is unfortunately a common mistake to think that Gentoo gives any less importance to stability than any of the other distributions.

New versions of Gentoo packages undergo quality testing just like on any other distribution, before they are marked for stable use. The difference is simply that you don't have to wait from 6 months (like in Ubuntu's case) to 3 years (like in Debian's case) to get the new version of the software if you so wish. You still have full control over which versions you want to install, which versions you want to hold back, and so on. As a case in point, Firefox 3 was only marked stable on Gentoo around January this year. Why, you might ask? Because it depended on a newer version of a given library which, if upgraded, would have broken another stable package (I forget which program it was right now, something like Epiphany or whatever). Obviously this would be unacceptable (one "stable" program breaking another "stable" program), so Firefox was held back until all the bugs were fixed. In any case the details are unimportant, the point is Gentoo cares about stability just as much as (and I would even say more than) Ubuntu and friends.

And well, enough about Gentoo (can you tell I like it? )

The differences between distributions lie mostly in the kind of support you get (how helpful are the distribution maintainers, how good is the documentation and help forums, how knowledgeable is the user community in general), release policies (e.g. fixed 6 month releases, rolling releases, whenever-we-feel-like-it releases), licensing policies (e.g. whether or not they include software which might be considered patented or otherwise illegitimate in some countries with abusive laws) and of course the package management system.

Most notably among package management systems you basically have Debian's apt (also used by Ubuntu and other Debian derivatives), Red Hat's rpm (of which yum is a frontend, and also used by CentOS, Fedora, Suse, Mandriva), and Gentoo's portage (which has some resemblance to FreeBSD's ports). Of these, I would rank portage as the most flexible by far, apt as the most mature (it Just Works), and rpm as... well, frankly, rather lacking in comparison.

Package management systems are responsible for more than just getting the installer on your drive; they take care of dependencies (e.g. libraries or other programs which a given program needs to work), updates and so on. The package manager is an important factor when choosing a distribution to use. Of course, then there is the matter of how the repositories themselves are managed, from small things like a consistent naming policy among the packages (can't beat Debian and its derivatives there) to how much importance is given to stability versus bleeding edge, how much patching (bugfixes, branding, etc) the distribution does to the original software (if you want pure originals you can always go with Slackware and just install everything from source by scratch ), and so on.

In the end the main thing is: good on ya for opening yourself up to GNU/Linux!! Try everything out as much as you like, try other distributions as well, and see which one you like the most! In this vein, I'd recommend you keep an eye on Ubuntu, Debian and Gentoo - try them out when you have a chance.

Cheers for the background. It's always interesting looking at how other systems work and their way of doing things. Speaking of which - I've just installed our second linux machine at work so we're slowly seeing the benefit of open source things

Edit:
I just found out you can use yum to uninstall apps / packages too. interesting ....

I just found out you can use yum to uninstall apps / packages too. interesting ....

Oh, definitely! That's normal in any package manager.

You see, the normal way to work in GNU/Linux is different from what you do in Windows. In Windows, when you want to install a given program, you normally go and download some installer or source code from the program's website.

In a typical GNU/Linux distribution, you would go to your package manager and look for the program in the repositories. You install and uninstall things through the package manager, which takes care of all the nasty things such as automatically installing dependencies and so on (required libraries or frameworks, down to specific versions, etc).