How do I start looking for packages that are self compiled
There isn't really a good way to guarantee you'll get them all
- Consult your config documentation.
- Consult your build documentation.
- Look in the usual places (/usr/bin, /usr/local/bin etc)
but there isn't really a good way to guarantee you'll get them all
and remove them
This is non trivial unless the package came with a way to remove itself.
You could try recompiling the packages and then reinstalling them using a chroot or if a DESTDIR= drective
mkdir /tmp/package
make && make install DESTDIR=/tmp/package
Then look at the contents of the /tmp/package or chroot tree to get a filelist which can then be used to delete the files from the main filesystem tree. This is though dependent on you knowing the options you used to configure the build.
Later install the updated version of the same packages via yum in the server?
yum install packagename
Is puppet/chef is a good option to use to simulate the changes in the servers ?
Your best solution at this point is to start again. Choose a config management solution and use it to build consistent systems
Install your base OS then
- Use your config management solution to add and configure packages
- Run your tests
- If tests fail
- Work out why
- update configuration management
- rinse and repeat until tests pass