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.