Red Hat Tools $Revision: 1.7 $ -[Wed Jan 22 14:53:30 2003 by layer]- `rhtools' contains two programs, rhmirror.cl and rhupdate.cl, which can be used by Red Hat Linux users to keep their system up to date. NOTE: these scripts require a fully patched Allegro CL 6.2 (Trial, Professional or Enterprise). If you want to use the free Trial version, see the instructions below. rhmirror.cl downloads updated rpm's from updates.redhat.com, and optionally runs rhupdate.cl to determine which packages need to be installed. rhupdate.cl can be used to do the actual installation of packages, with the -i command line switch. rhmirror.cl is intended to be run periodically from cron(8), and it makes reports of what it downloads to a configurable email address. Here's a sample `crontab' entry in my $HOME/crontab file: 20 4 * * * /home/layer/scripts/rhmirror.cl -aq -c /home/layer/scripts/rhupdate.cl /backup/redhat73/updates After running "crontab $HOME/crontab", it would run rhmirror.cl once a day at 4:20am. Run rhmirror.cl and rhupdate.cl without arguments to see help text. rhupdate.cl will automatically give preference to platform specific rpms. For example, consider two downloaded files: i386/kernel-2.4.18-18.7.x.i386.rpm i686/kernel-2.4.18-18.7.x.i686.rpm If you are on an i686 machine (``uname -m'' will show the platform), then the `i686' version will be installed over the `i386' version. ******************************************************************************* Recent changes/public releases Version 1.7 -- initial public release ******************************************************************************* Users New to Allegro CL If you do not have Allegro CL installed and want to use these scripts here is what you need to do: 1. Install Allegro CL. Get it from here: http://www.franz.com/downloads The important thing is to provide a valid email address so you can be sent email containing: 1) a license file, and 2) the download URL. 2. Once you have the Trial Edition installed, do this: NOTE: The following assumes that you unpacked the Trial Edition in /usr/local, and thus have a /usr/local/acl62_trial directory. $ cd /usr/local/acl62_trial $ ./alisp (sys:update-allegro) (exit) $ ./update.sh Your Trial Edition is now updated with the latest patches, required for these scripts to work properly. 3. Change the #! line in rhmirror.cl and rhupdate.cl to reflect location of your `alisp' binary, or do this if you installed in the same location as above: $ (cd /usr/local/bin; ln -s ../acl62_trial/alisp) ******************************************************************************* Existing users of Allegro CL If you already have Allegro CL isntalled, then you just need to do steps #2 and #3 in the previous section, substituting the correct paths for your locally installed Allegro CL. ******************************************************************************* Getting started You are now ready to use rhmirror.cl, and you could do something like this: $ mkdir /x/redhat $ rhmirror.cl -v 8.0 /x/redhat/8.0 The above will FTP the currently available rpm's and put them into ``/x/redhat/8.0''. If you have Red Hat 8.0 installed on your system, you can now do this, to find out which updates you need to install: $ rhupdate.cl /x/redhat/8.0 It will not install anything (you would need to be logged in as `root' to do that), but it will print the names of the rpm's which are candidates for installation on your system. ******************************************************************************* Examples The following does nothing other than determine which rpms need to be installed on host `beast', which is running Red Hat 7.2. The command is run from host `crikey'. crikey% /fi/sa/bin/rhtools/rhupdate.cl -r beast /fi/redhat/updates/7.2 Need to install the following rpms: i386/unzip-5.50-2.i386.rpm i386/up2date-gnome-2.8.39-1.7.2.i386.rpm i386/libpng-1.0.14-0.7x.3.i386.rpm i386/bind-9.2.1-1.7x.2.i386.rpm i386/gcc-c++-2.96-112.7.2.i386.rpm i686/glibc-2.2.4-31.i686.rpm i386/gv-3.5.8-18.7x.i386.rpm i386/mm-1.1.3-11.i386.rpm i386/wget-1.8.2-4.72.i386.rpm noarch/ttfonts-ja-1.0-7.noarch.rpm i386/apache-1.3.27-1.7.2.i386.rpm i386/ypserv-2.5-2.7x.i386.rpm i386/openssl096-0.9.6-13.i386.rpm i386/nscd-2.2.4-31.i386.rpm i386/gdk-pixbuf-0.14.0-0.7.2.i386.rpm i386/glibc-devel-2.2.4-31.i386.rpm i386/gcc-g77-2.96-112.7.2.i386.rpm i386/libstdc++-2.96-112.7.2.i386.rpm i386/modutils-2.4.18-3.7x.i386.rpm i386/glibc-common-2.2.4-31.i386.rpm i386/rhn_register-2.8.27-1.7.2.i386.rpm i386/up2date-2.8.39-1.7.2.i386.rpm i386/arts-2.2.2-3.i386.rpm i386/openssl-0.9.6b-28.i386.rpm i386/xinetd-2.3.7-4.7x.i386.rpm i386/dev-3.3-4.i386.rpm i386/gdk-pixbuf-gnome-0.14.0-0.7.2.i386.rpm i386/rhn_register-gnome-2.8.27-1.7.2.i386.rpm i386/MAKEDEV-3.3-4.i386.rpm i386/tar-1.13.25-4.7.1.i386.rpm i386/cpp-2.96-112.7.2.i386.rpm i386/libstdc++-devel-2.96-112.7.2.i386.rpm i386/krb5-devel-1.2.2-15.i386.rpm i386/kdelibs-2.2.2-3.i386.rpm i386/libpng-devel-1.0.14-0.7x.3.i386.rpm i386/gcc-2.96-112.7.2.i386.rpm i386/openssl-devel-0.9.6b-28.i386.rpm i386/bind-utils-9.2.1-1.7x.2.i386.rpm i386/fetchmail-5.9.0-20.i386.rpm i386/kernel-source-2.4.18-18.7.x.i386.rpm i386/gcc-objc-2.96-112.7.2.i386.rpm i686/kernel-2.4.18-18.7.x.i686.rpm i386/krb5-libs-1.2.2-15.i386.rpm i386/openssl095a-0.9.5a-18.i386.rpm The commands to do the installation (which should be run as `root'): rsh beast 'mkdir /usr/tmp/rhupdate' (cd /fi/redhat/updates/7.2/; rcp i386/unzip-5.50-2.i386.rpm \ i386/up2date-gnome-2.8.39-1.7.2.i386.rpm \ i386/libpng-1.0.14-0.7x.3.i386.rpm \ i386/bind-9.2.1-1.7x.2.i386.rpm \ i386/gcc-c++-2.96-112.7.2.i386.rpm \ i686/glibc-2.2.4-31.i686.rpm \ i386/gv-3.5.8-18.7x.i386.rpm \ i386/mm-1.1.3-11.i386.rpm \ i386/wget-1.8.2-4.72.i386.rpm \ noarch/ttfonts-ja-1.0-7.noarch.rpm \ i386/apache-1.3.27-1.7.2.i386.rpm \ i386/ypserv-2.5-2.7x.i386.rpm \ i386/openssl096-0.9.6-13.i386.rpm \ i386/nscd-2.2.4-31.i386.rpm \ i386/gdk-pixbuf-0.14.0-0.7.2.i386.rpm \ i386/glibc-devel-2.2.4-31.i386.rpm \ i386/gcc-g77-2.96-112.7.2.i386.rpm \ i386/libstdc++-2.96-112.7.2.i386.rpm \ i386/modutils-2.4.18-3.7x.i386.rpm \ i386/glibc-common-2.2.4-31.i386.rpm \ i386/rhn_register-2.8.27-1.7.2.i386.rpm \ i386/up2date-2.8.39-1.7.2.i386.rpm \ i386/arts-2.2.2-3.i386.rpm \ i386/openssl-0.9.6b-28.i386.rpm \ i386/xinetd-2.3.7-4.7x.i386.rpm \ i386/dev-3.3-4.i386.rpm \ i386/gdk-pixbuf-gnome-0.14.0-0.7.2.i386.rpm \ i386/rhn_register-gnome-2.8.27-1.7.2.i386.rpm \ i386/MAKEDEV-3.3-4.i386.rpm \ i386/tar-1.13.25-4.7.1.i386.rpm \ i386/cpp-2.96-112.7.2.i386.rpm \ i386/libstdc++-devel-2.96-112.7.2.i386.rpm \ i386/krb5-devel-1.2.2-15.i386.rpm \ i386/kdelibs-2.2.2-3.i386.rpm \ i386/libpng-devel-1.0.14-0.7x.3.i386.rpm \ i386/gcc-2.96-112.7.2.i386.rpm \ i386/openssl-devel-0.9.6b-28.i386.rpm \ i386/bind-utils-9.2.1-1.7x.2.i386.rpm \ i386/fetchmail-5.9.0-20.i386.rpm \ i386/kernel-source-2.4.18-18.7.x.i386.rpm \ i386/gcc-objc-2.96-112.7.2.i386.rpm \ i686/kernel-2.4.18-18.7.x.i686.rpm \ i386/krb5-libs-1.2.2-15.i386.rpm \ i386/openssl095a-0.9.5a-18.i386.rpm beast:/usr/tmp/rhupdate) rsh beast 'cd /usr/tmp/rhupdate; rpm -Uv unzip-5.50-2.i386.rpm \ up2date-gnome-2.8.39-1.7.2.i386.rpm \ libpng-1.0.14-0.7x.3.i386.rpm \ bind-9.2.1-1.7x.2.i386.rpm \ gcc-c++-2.96-112.7.2.i386.rpm \ glibc-2.2.4-31.i686.rpm gv-3.5.8-18.7x.i386.rpm \ mm-1.1.3-11.i386.rpm wget-1.8.2-4.72.i386.rpm \ ttfonts-ja-1.0-7.noarch.rpm \ apache-1.3.27-1.7.2.i386.rpm \ ypserv-2.5-2.7x.i386.rpm \ openssl096-0.9.6-13.i386.rpm nscd-2.2.4-31.i386.rpm \ gdk-pixbuf-0.14.0-0.7.2.i386.rpm \ glibc-devel-2.2.4-31.i386.rpm \ gcc-g77-2.96-112.7.2.i386.rpm \ libstdc++-2.96-112.7.2.i386.rpm \ modutils-2.4.18-3.7x.i386.rpm \ glibc-common-2.2.4-31.i386.rpm \ rhn_register-2.8.27-1.7.2.i386.rpm \ up2date-2.8.39-1.7.2.i386.rpm arts-2.2.2-3.i386.rpm \ openssl-0.9.6b-28.i386.rpm \ xinetd-2.3.7-4.7x.i386.rpm dev-3.3-4.i386.rpm \ gdk-pixbuf-gnome-0.14.0-0.7.2.i386.rpm \ rhn_register-gnome-2.8.27-1.7.2.i386.rpm \ MAKEDEV-3.3-4.i386.rpm tar-1.13.25-4.7.1.i386.rpm \ cpp-2.96-112.7.2.i386.rpm \ libstdc++-devel-2.96-112.7.2.i386.rpm \ krb5-devel-1.2.2-15.i386.rpm \ kdelibs-2.2.2-3.i386.rpm \ libpng-devel-1.0.14-0.7x.3.i386.rpm \ gcc-2.96-112.7.2.i386.rpm \ openssl-devel-0.9.6b-28.i386.rpm \ bind-utils-9.2.1-1.7x.2.i386.rpm \ fetchmail-5.9.0-20.i386.rpm \ kernel-source-2.4.18-18.7.x.i386.rpm \ gcc-objc-2.96-112.7.2.i386.rpm \ kernel-2.4.18-18.7.x.i686.rpm \ krb5-libs-1.2.2-15.i386.rpm \ openssl095a-0.9.5a-18.i386.rpm; cd /usr/tmp; rm -r rhupdate' 16.530u 3.180s 0:35.74 55.1%; 77260pf, 0sw, 0phy, st 0k, d 0k crikey%