AutoUpdate
[ General |
Download and Installation |
Configuration |
FAQ ]
AutoUpdate is a simple Perl script which
performs a task similar to RedHat's up2date or
autorpm.
It can be used to automatically download and upgrade rpms from different
ftp 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.
Main features/drawbacks:
- 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 is only done by looking at the file name and not by
looking at the entire rpm header.
- 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.
Mailinglist
If you have questions about autoupdate please direct them to the
mailinglist:
https://www.mat.univie.ac.at/mailman/listinfo/autoupdate
(Archive)
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:
The download mode will connect to a given remote site (currently ftp, http,
https (requires stunnel)
and file (for local directories) 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:
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:
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.
Merge mode:
This mode is used to merge new rpms from the update directory into the
rpm directory (removing the old ones).
Purge mode:
This mode is used to purge old rpms from the update directory.
Examples:
If everything is set up correctly you can check for updates and
apply them using
# autodld
Found no new rpms at ftp.mat.univie.ac.at.
New rpms from ftp.univie.ac.at:
rsync-2.4.6-13.i386.rpm
Upgrading rpms:
rsync-2.4.6-13.i386.rpm
Removing updated rpms:
rsync-2.4.6-13.i386.rpm
Alternatively, if you already have the rpms, you can use
autoupd *.rpm
to upgrade your system. If you use autoins instead, all rpms will
be installed even if no older versions are present. This is similar to
rpm -F and rpm -U with the two differences that AutoUpdate
will select the right rpm (architecture, latest version) and it will try
to resolve dependencies.
Moreover, the command
autoget --url ftp://ftp.redhat.com/pub/redhat/linux/7.2/en/os/i386/RedHat/RPMS zip
will search the given url for an rpm named zip.
If found, the rpm will be downloaded and installed. Of course, you can setup
*.get config files for all sites you want to search. If you
do this you can install the latest version of nedit using
# autoget nedit
New rpms from ftp.univie.ac.at:
nedit-5.1.1-10.i386.rpm
lesstif-0.92.32-6.i386.rpm
Downloaded total of 2 rpms.
Installing rpms:
lesstif-0.92.32-6.i386.rpm (new)
nedit-5.1.1-10.i386.rpm
Installed total of 2 rpms.
Removing updated rpms:
lesstif-0.92.32-6.i386.rpm
nedit-5.1.1-10.i386.rpm
Note that it automagically found out that nedit requires openmotif and handled all
dependencies for you.
License
Copyright (C) 2000-2002 Gerald
Teschl
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Please see the included file LICENSE for a copy of the
GNU
General Public License. If this file is missing,
write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA.
Credits
I'd like to thank the following people for suggestions/bug reports/patches:
Flemming Christensen, Jonathan Hunter, Pekka Savola, Andrey Sukhorukov, Brendan Byrd/SineSwiper, Torsten Lehmann, Wil Reilly Cooley, Adam (StatiC) Gibson,
Stefan Furtmayr, Dag Wieers, Allan Frank, Dave Alden, Richard Bos, JP Vossen,
Jim Wray, Omer van der Horst Jansen, Graeme Wilford, Bertil Askelid,
Harry F Phillips, Benjamin Johnson, Gustav Schaffter, Chris Bailiff,
Damjan Lango, Michel de Groot, Chuck Moss, Josko Plazonic, Paul
Wagland, Neal D. Becker, David J. Morse, David Rees, Mike Radomski,
Matthias Andree, Ramiro Morales, Stefan, Alexander (Leo) Bergolth,
Eric B. Decker, Lars Nummedal, Woody McLendon, Bert de Bruijn.
[ General |
Download and Installation |
Configuration |
FAQ ]