Most of the linux systems I administer these days happen to run CentOS, which is a free redistribution of Redhat.
The main package manager is yum, which seems to work nicely.
I use the default yum installation, plus I’ve added rpmforge support for less common packages.
That gives me access to about 20,000 linux packages altogether.
By default, yum works fine as long as you have working nameservers to /etc/resolv.conf.
I use rpm and yum repositories mainly for installing basic tools like sysstat (iostat), mytop, etc.
yum is very easy-to-use, and either finds the package in a few seconds and installs it, or displays an error message:
yum install pkg-name
My configurations of apache/SSL/mod_proxy/PHP/APC and mod_perl are too customized to expect to find in an existing package, so I build them from source and block rpm or yum from updating the related files with an exclude directive.
I use shell scripts for building those. The apache build script is about 100 lines long now.
Building Open Source applications is easy on CentOS, provided that you have installed the development packages, including gcc, g++ and ncurses-devel packages.
Note that for complex, threaded programs like databases, use a pre-tested binary distribution if possible. MySQL is an example of a threaded program that is sensitive to which libraries you link it to.


