AutoUpdate is a Perl script which performs a task similar to RedHat's up2date or autorpm. AutoUpdate project can be used to automatically download and upgrade rpms from different (s)ftp or http(s) sites.
Moreover, it can also be used to keep a server with a customized (RedHat) distribution plus all clients up to date. I have tried to write it in such a way that it is not RedHat specific and hence it should work with any other rpm based distribution as well.
Here are some key features of "AutoUpdate":
· In contradistinction to up2date, it can be used to upgrade both rpms from RedHat and third party rpms. In addition, only the server will download new rpms, the clients get them from the server (saves bandwidth).
· It will try to handle dependencies (see below) and choose the right architecture (if more than one is available).
· Version comparison for remote rpms is only done by looking at the file name and not by looking at the entire rpm header unless a special repository has been set up.
· It is designed to run from a cron job and to keep the output to a minimum (so that your root email is not cluttered up with useless information). In particular, there is no interactive mode or any kind of GUI.
How does it work and what can it do?
There are five independent modes, download, get, update/install, merge, and purge. The mode will be determined by the invocation name and or command line options.
Download mode (autodld):
The download mode will connect to a given remote site (currently file, ftp, http, https and sftp are supported) and compare all rpms found to either your rpm directory or, if no rpm directory is set, to the installed rpms. Then all updated versions of rpms you already have will be downloaded. The remote site can be given on the command line or in a configuration file.
Get mode (autoget):
The get mode is similar to the download mode, except that rpm names (without version) can be given on the command line and those rpms will then be searched for on the remote sites.
Update/install mode (autoupd/autoins):
The update/install mode will compare rpms given on the command line or in the update directory to the installed ones. In update mode only new rpms for which an older version is installed will be upgraded. Install mode is similar but will also install rpms for which no old version was previously installed.
First all rpms (except kernel packages) will be upgraded. If there are unresolved dependencies, it will check if any other rpms in the update or rpm directory can be used to satisfy them and add all necessary ones.
Then it will install new kernel rpms (unless disabled) and, at your request, add the images to the boot manager.
You can think of autoupd as a smarter version of rpm -F and autoins as a smarter version of rpm -i respectivley rpm -U.
Merge mode (automrg):
This mode is used to merge new rpms from the update directory into the rpm directory (removing the old ones).
Purge mode (autoprg):
This mode is used to purge old rpms from the update directory.
What's New in This Release:
· Broken get mode on multi-arch systems has been fixed.