rhupdate - Check for updates to RedHat RPMs
rhupdate [ pattern ] [ --download [dir] | --list ] [ --options ]
Checks for updates for installed RPMS on RedHat's updates site.
No, I'm not an RPM Fan. I don't like RPMs, I like building things myself. I use RedHat, and RedHat is easier to deal with (as an OS) when you use the RPMs the RedHat puts-out. I'm not at all interested in supplying an RPM version of rhupdate.
Pod::Usage Perl modules to be installed. On some
versions of RedHat you will need to update File::Spec before Pod::Usage will
install. (Even using CPAN.) See
man CPAN for information on installing Perl
NOTE: since version strings aren't simple numerics, I do my best to check them, but use your own judgement.
Install updates at your own risk.
See http://www.redhat.com/support/docs/howto/kernel-upgrade/kernel-upgrade.html for information on installing the kernel-* packages. Failure to install the Linux Kernel properly will result in a non-bootable machine. Use --exclude kernel to skip notification and download of Kernel packages.
(see INSTALL file)
1) Run "configure" $ ./configure Alternate installation prefixes can be specified with --prefix (default: /usr/local): $ ./configure --prefix=/usr/local/gnu Other options are available from configure, run configure --help for more information. (Although, only the directory options are applicable.) 2) Install (you must be able to write to the installation directories, usually /usr/local/bin and /usr/local/man/man8) $ make install
Net::FTPdoesn't recognize that the anonymous login failed (I'm not an FTP expert, so I don't know whose fault this is.) The login appears to succeed, and you get this error when it tries to change directories.
If you upgrade to the latest beta, the error message is fixed, and when you do --retry it will properly retry on this error.
The way I prefer to do it comes right off the
CPAN manpage (try
# perl -MCPAN -e shell
(answer all the questions to the best of your knowledge), and type
Pod::Usage, or any other Perl module you want.)
$ rhupdate --list --include libstdc++ Argument to --include "libstdc++" is not a valid regular expression.
Please try again.
$ rhupdate --list --include 'libstdc\+\+' Listing Updates..
No updates available.
I am considering changing this behavior for the 2.0 release.
(See ChangeLog file)
2003-06-09 10:26 miner * rhupdate.pl (1.102): Added a --port option to specify the port that the FTP server is running on. Thanks to James Bromberger
for the patch. 2003-03-18 16:50 miner * rhupdate.pl (1.101): If the --dir parameter is given as a relative path, it is relative to the home directory of the user who logged in. Bug spotted by Kevin Kettner 2003-01-08 15:07 miner * rhupdate.pl (1.100): Bumping version to 1.10 beta (maybe this will become 2.0 beta??) 2003-01-08 15:04 miner * rhupdate.pl (1.99, VERSION_1_9): Bumping version to 1.9 2003-01-07 19:38 miner * rhupdate.pl (1.98): Fixed a typo in the docs 2003-01-07 11:15 miner * rhupdate.pl (1.97): Fixing a bug in said POD. 2003-01-07 11:14 miner * rhupdate.pl (1.96): Added a FAQ about include/exclude/add regexes. 2003-01-07 11:05 miner * rhupdate.pl (1.95): Tweaking the regex checks. 2003-01-07 10:23 miner * rhupdate.pl (1.94): Reverting back to the documented behavior of --include/exclude/add. Added a test to make sure that the regexes are valid. 2002-12-19 19:20 miner * rhupdate.pl (1.93): Don't try to use undefined variables, again. 2002-12-19 19:06 miner * rhupdate.pl (1.92): Added a FAQ option about adding an install option. 2002-12-19 16:23 miner * rhupdate.pl (1.91): Making the server version index only look in the applicable directories. Fixes the problem where an incorrect version would be downloaded because there was an upgrade for a foreign architecture. Reported by Bob Plankers and Jonas Pasche 2002-12-19 15:17 miner * rhupdate.pl (1.90): Oops, don't try to regex things that aren't defined. 2002-12-19 14:52 miner * rhupdate.pl (1.89): Fixed the include/exclude regex bug. Reported by Bob Plankers 2002-02-12 17:21 miner * rhupdate.pl (1.88): Correcting a counting error when there were updates for other architectures. Pointed out by Bob Plankers and Jonas Pasche 2001-11-30 17:35 miner * rhupdate.pl (1.87): Handling the condition where there is more than one RPM for a specific package. Pointed out by Steve Tanner 2001-11-12 17:51 miner * rhupdate.pl (1.86): Added some comments about My love of RPMs. 2001-10-31 17:18 miner * rhupdate.pl (1.85): Bumping version up to 1.9 beta. 2001-10-31 17:11 miner * rhupdate.pl (1.84, VERSION_1_8): Bumping to version 1.8 release. 2001-10-31 10:10 miner * rhupdate.pl (1.83): Fixed a bug in resuming a failed download discovered by Ivan Borissov Ganev 2001-10-29 17:03 miner * rhupdate.pl (1.82): Added a --timeout option to specify the FTP timeout. 2001-10-28 11:48 miner * rhupdate.pl (1.81): Oops, checking to see if $add is defined before using it is a good thing.. 2001-10-26 17:55 miner * rhupdate.pl (1.80): Finally straightened out the add code, and made it work again. 2001-10-26 17:01 miner * rhupdate.pl (1.79): Fixed a bug that caused errors when the powertools update directory was missing (as it is in the RH7.2 updates.) 2001-10-24 22:02 miner * rhupdate.pl (1.78): Ooops, fixed a bug in the adding code. 2001-10-24 11:10 miner * Makefile.in (1.2): Added targets to create the destination directories if they don't exist. 2001-10-23 23:24 miner * rhupdate.pl (1.77): Further fixing of typos in the --add documentation. doh. 2001-10-23 23:11 miner * rhupdate.pl (1.76): Updated the documentation for --add 2001-10-23 23:10 miner * rhupdate.pl (1.75): Added a --add package function to add a specific package. 2001-05-29 17:42 miner * rhupdate.pl (1.74): Fixing some documentation errors. Pointed out by Paul Willams 2001-05-22 11:29 miner * rhupdate.pl (1.73): Bumping version to 1.8 beta. 2001-05-22 11:26 miner * configure.in (1.6), rhupdate.pl (1.72): Code to have configure set the locale to 'en' if locale cannot be found, also added a --locale option to force the locale, and a default for the locale to 'en' if for some reason locale doesn't have the standard output. (Suggested by Troy Engel ) Fixed the spelling of redhat-release in the --rhversion documentation. (Spotted by Bob Plankers ) 2001-05-19 14:57 miner * rhupdate.pl (1.71, VERSION_1_7): Bumping to release 1.7 since things have been stable. 2001-05-04 00:19 miner * rhupdate.pl (1.70): BUGFIX: Fixing the case where we've been given an absolute path, but the architecture doesn't match the actual machine. 2001-05-04 00:14 miner * rhupdate.pl (1.69): BUGFIX: Evidently not everyone agrees on the format of the LIST command. Make our best guess. (Pointed out by Michael Hoffman ) 2001-04-29 21:32 miner * rhupdate.pl (1.68): Added the ability to specify --include or --exclude more than once to include/exclude more than one pattern. 2001-04-28 13:52 miner * rhupdate.pl (1.67): Added a --absolute option to specify that the --dir option is an absolute path: we should not attempt to change in to the architecture directories or anything. BUGFIX: Added a check to see if MDTM is a supported operation before attempting to use it. 2001-04-26 19:17 miner * rhupdate.pl (1.66): Added a TODO for local update directories. 2001-04-26 11:48 miner * rhupdate.pl (1.65): Bumping version to 1.7 beta before I forget. 2001-04-26 11:44 miner * rhupdate.pl (1.64, VERSION_1_6): Bumping version to 1.6 2001-04-26 11:38 miner * rhupdate.pl (1.63): Added support for updating "powertools" packages on servers that use the "new" (now a month old) layout for the updates directories. 2001-04-24 11:01 miner * rhupdate.pl (1.62): Updates to the FAQ about the anonymous login problem. 2001-04-16 17:54 miner * rhupdate.pl (1.61): Fogot to update the TODOs after added version string comparisons. 2001-04-16 17:47 miner * rhupdate.pl (1.60): Added a FAQ section to the documentation since I get a lot of similar questions. 2001-04-13 11:35 miner * rhupdate.pl (1.59): BUGFIX: Handling the way RedHat's FTP server rejects anonymous connections when it is full. BUGFIX: Some FTP servers only allow SIZE to be used on binary files, some don't allow it at all -- check before trying to use it. 2001-04-12 23:58 miner * rhupdate.pl (1.58): Documentation update. 2001-04-12 23:53 miner * rhupdate.pl (1.56): --hash now accepts a parameter, the number of bytes per hash, --download now resumes downloads that previously failed, compares version numbers instead of just relying on differences. (Excellent patch from Jason Grimes ) 2001-04-04 11:20 miner * rhupdate.pl (1.53, VERSION_1_5): Setting version to 1.5. 2001-04-04 11:13 miner * configure.in (1.5), rhupdate.pl (1.52): Reworded the note about Net::FTP and Pod::Usage because some people had problems understanding it. 2001-04-03 10:01 miner * rhupdate.pl (1.51): Added --version option Fixed-up the error exit status and the --help processing. 2001-04-01 14:07 miner * rhupdate.pl (1.50): Added a comment about Pod::Usage depending on File::Spec. 2001-04-01 13:36 miner * rhupdate.pl (1.49): Checking to make sure that we're looking at a valid architecture. 2001-04-01 03:08 miner * configure.in (1.4), rhupdate.pl (1.48): Set the location of "locale" via configure. Deal with locale not returning anything interesting. 2001-03-29 19:10 miner * rhupdate.pl (1.47): Added yet another TODO. 2001-03-29 13:51 miner * rhupdate.pl (1.46): Updated to change in to the correct locale/etc (redhat changed their updates layout.) 2001-03-28 23:31 miner * configure.in (1.3), Makefile.in (1.1), INSTALL (1.1), rhupdate.pl (1.45): Changed the installed program name to just rhupdate, not rhupdate.pl Added Makefile.in, manpage, install-sh, and INSTALL to the distribution. Set up configure to create the Makefile. The Makefile now correctly installs the application. Updated documentation to reflect the new installation method. 2001-03-28 21:38 miner * rhupdate.pl (1.44): Added some rudimentary install instructions and a TODO about an actual install make target. 2001-03-28 21:28 miner * rhupdate.pl (1.43): Implementing/documenting --all, to download all available updates, not just those installed and different. 2001-03-28 21:02 miner * rhupdate.pl (1.42): Added documentation for the download directory option. 2001-03-28 20:48 miner * rhupdate.pl (1.41): Added powertools to the TODOs. 2001-03-28 20:39 miner * rhupdate.pl (1.40): Add a note to the docs about the include/exclude precedence. 2001-03-28 20:35 miner * rhupdate.pl (1.39): BUGFIX (from 1.38): No need to check for existance of the download directory if we're not downloading. 2001-03-28 20:30 miner * rhupdate.pl (1.38): Added the ability to specify a download directory with the --download option. 2001-03-26 07:46 miner * rhupdate.pl (1.37): Add a note to the docs about version numbers. More TODOs. 2001-03-25 12:36 miner * rhupdate.pl (1.36): More TODOs. 2001-03-25 11:36 miner * rhupdate.pl (1.35): Added another TODO. 2001-03-25 11:33 miner * rhupdate.pl (1.34): Added TODOs to the POD so people know what I'm thinking about. 2001-03-25 11:01 miner * rhupdate.pl (1.33): BUGFIX: Errors is the retry code caused things not to work when --retry wasn't specified. BUGFIX: Handling bad hostnames properly. 2001-03-22 20:12 miner * rhupdate.pl (1.32): Add --passive option to FTP is passive mode. 2001-03-22 15:22 miner * rhupdate.pl (1.31): Added --retries and --hash options. --retries specifies the number of retries to the FTP server (or infinite.) --hash prints hashes as files are downloaded. Changed to set the modification times on the local files correctly. 2001-03-22 08:33 miner * rhupdate.pl (1.30): Getting rid of the 'a' in the display of the version as well. 2001-03-22 08:30 miner * rhupdate.pl (1.29): Getting rid of the 'a' in the beta version number (for the file name, that is.) 2001-03-22 08:06 miner * rhupdate.pl (1.28, VERSION_1_4): One last note about Kernel upgrades in the documentation. Stable release 1.4. 2001-03-21 19:35 miner * rhupdate.pl (1.27), configure.in (1.2): Added README Added configure checks for Net::FTP and Pod::Parser Added documentation of Net::FTP/Pod::Parser requirement and the Kernel update. 2001-03-21 15:44 miner * rhupdate.pl (1.26): Bump to version 1.4a now that 1.3 is released. 2001-03-21 13:20 miner * rhupdate.pl (1.25, VERSION_1_3): Fix the POD 2001-03-21 13:10 miner * rhupdate.pl (1.24): Added configure script. Setting up the makefile to create the distributions. Added --rpm and --uname options to specify the rpm program and uname program on the command line. 2001-03-21 11:55 miner * rhupdate.pl (1.23): Bumping version to 1.3a 2001-03-21 11:50 miner * rhupdate.pl (1.22, VERSION_1_2): BUGFIX: Add the RedHat version directory to the update directory. 2001-03-20 15:35 miner * rhupdate.pl (1.21): Hacking up the debug code, checking for some error conditions, fixing broken NLST implementations. 2001-03-20 14:55 miner * rhupdate.pl (1.20): Added a debug option and some debug output. Cleaning up the --dir option (trimming trailing '/') 2001-03-20 14:01 miner * rhupdate.pl (1.19): Bump version to 1.2a 2001-03-20 14:00 miner * rhupdate.pl (1.18): Added a message about how many updates are available. 2001-03-20 13:48 miner * rhupdate.pl (1.17, VERSION_1_1): Bump to version 1.1 2001-03-20 12:54 miner * rhupdate.pl (1.14): Alphabetizing the options makes them easier to find. 2001-03-20 12:46 miner * rhupdate.pl (1.13): Documentation for --include and --exclude. 2001-03-20 12:43 miner * rhupdate.pl (1.12): Added --include and --exclude options to specify include/exclude patterns. 2001-03-20 12:01 miner * rhupdate.pl (1.10): Code to read the RedHat version from /etc/redhat-release instead of assuming 7.0 2001-03-20 06:26 miner * rhupdate.pl (1.9, VERSION_1_0): Creating a real "version", set to 1.0 2001-03-19 23:08 miner * rhupdate.pl (1.7): Fix things so that it'll work with non ix86 architectures. 2001-03-19 23:00 miner * rhupdate.pl (1.6): Allow server, user, password, directory, and arch to be specified on the command line. 2001-03-19 22:17 miner * rhupdate.pl (1.5): Allow a pattern to be passed in. Cache the whole local RPM database instead of querying each individually. Cache for comparison the server versions, check for the correct architecture when listing/downloading. * rhupdate.pl (1.4): Add the download link to POD. 2001-03-19 17:31 miner * rhupdate.pl (1.3): Added docs. 2001-03-19 17:19 miner * rhupdate.pl (1.1): Initial Revision
Jonathan J. Miner <email@example.com>
Copyright (C) 2001 Jonathan J. Miner
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.
1.9 beta $Revision: 1.102 $