Best practices for keeping UNIX packages up to date?
Solution 1:
On Linux/Debian based systems, cron-apt is a very handy tool that can manage automating apt via cron.
I'm using it to apt-get update
every day and send me an email if new updates has to be installed.
Here's a short and well-done introduction on that tool.
Solution 2:
Regarding your third question: I always run a local repository. Even if it's only for one machine, it saves time in case I need to reinstall (I generally use something like aptitude autoclean), and for two machines, it almost always pays off.
For the clusters I admin, I don't generally keep explicit logs: I let the package manager do it for me. However, for those machines (as opposed to desktops), I don't use automatic installations, so I do have my notes about what I intended to install to all machines.
Solution 3:
Similar to cron-apt, I use apticron.