Tuesday, March 29, 2011

Download RPM packages from a YUM repo without installing in RHEL

Download RPM packages using YUM


This how-to will explain how to download rpm packages from a yum repository without installing them. This will work on Redhat Enterprise Linux 5.x, Fedora and CentOS 5.x.

You need to install yum plugin called yum-downloadonly. This plugin adds a --downloadonly flag to yum so that yum can download the packages without installing/updating them. Following options supported by this plugin:

  • --downloadonly : don't update, just download a rpm file to default yum cache directory /var/cache/yum/.
  • --downloaddir=/path/to/dir : specifies an alternate directory to store packages such as /tmp
Install the yum-downloadonly plugin:

Type the following command to install plugin, enter:

        # yum install yum-downloadonly

Now for downloading rpm packages from an already configured yum repository use the following command:

      # yum update httpd -y --downloadonly
By default package will by downloaded and stored in /var/cache/yum/ directory. But, you can specifies an alternate directory to store packages such as /opt, enter:

      # yum update httpd -y --downloadonly --downloaddir=/opt


Method 2: yum-utils.noarch Package

Downloading rpm packages from a yum repository can be accomplished by the below described method also!!!

yum-utils is a collection of utilities and examples for the yum package manager. It includes utilities by different authors that make yum easier and more powerful to use. These tools include: debuginfo-install, package-cleanup, repoclosure, repodiff, repo-graph, repomanage, repoquery, repo-rss, reposync, repotrack, verifytree, yum-builddep, yum-complete-transaction, yumdownloader, yum-debug-dump and yum-groups-manager.

     # yum -y install yum-utils.noarch

Now use the yumdownloader command which is a program for downloading RPMs from Yum repositories. Type the following command to download httpd rpm file:

     # yumdownloader httpd

Sample output:

Loaded plugins: rhnplugin
httpd-2.2.3-31.el5_4.2.x86_64.rpm       1.2 MB 00:00

2 comments:

  1. this doesn't appear to work with "yum update". It lists all the packages needing an update, then says Downloading and then just exits.

    Total download size: 361 M
    Downloading Packages:
    --------------------------------------------------------------------------------
    Total 1.1 GB/s | 361 MB 00:00


    exiting because --downloadonly specified

    ReplyDelete
  2. Hello there,

    Have you tried with option "--downloaddir=/path/to/dir". This will make the packages to download to the specified directory.

    Also check the method 2, using yumdownloader command.

    For me, the problem seems to be with your internet connection. Any way revert to me with any log files entries that points to the right direction!!!!

    ReplyDelete