yum

Documentation: http://www.centos.org/docs/5/html/yum/index.html

You can install repository priorities: http://wiki.centos.org/PackageManagement/Yum/Priorities
But a better solution might be to leave the extra repos disabled in the yum configuration and
install/update the packages you want from them with:
yum --enablerepo=reponame install packagename

"What ends up happening is that you have multiple repositories that provide the same thing, sometimes under different names. You end up mixing dependencies between repositories, so some things are protected, some pull in deps from the wrong repository... fire and brimstone, dead rising from graves, dogs and cats start living together. The whole mess introduces some really odd logic edge cases for yum that should in theory never be encountered. It's basically a software solution to a management problem."

Working with yum, an intro from IBM: http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-102-5/index.h...

to remove old kernels, first check current:
uname -r

#find what's installed:
rpm -q kernel
rpm -q kernel-xen

#remove old:
rpm -e kernel-2.6.12-1.el5

# for ubuntu, see: http://jaypeeonline.net/tips-tricks/howto-remove-old-ubuntu-kernels/

To upgrade to php 5.2, see: http://wiki.centos.org/HowTos/PHP_5.1_To_5.2

#to see what repositories are in use, add to conf: showdupesfromrepos=1
vi /etc/yum.conf

#you can also:
yum list --showduplicates all php

#add repoquery with:
yum install yum-utils
repoquery -i php