Print Friendly, PDF & Email

 
REQUEST

I want to keep all packages installed by yum in a custom directory. Later I want to use them for setting up a repository.

 
RELATED

 
SOLUTION

To change default yum cache location, set the cachedir parameter to a directory you want in /etc/yum.conf.
Then set keepcache=1 to cache packages after successful installation.

 
TESTCASE

Get details about the current values of yum parameters

[root@dbpilot ~] cat /etc/yum.conf |grep -v "#"
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

Create a directory for storing packages

[root@dbpilot ~] mkdir /oracle/cache

Modify the configuration file according to your needs

[root@dbpilot ~] cat /etc/yum.conf |grep -v "#"
[main]
cachedir=/oracle/cache/$basearch/$releasever
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

Install required packages

[root@dbpilot ~]  ls -l /oracle/cache/
total 0
[root@dbpilot ~] yum install vim-enhanced mlocate -y

Confirm that packages are cached in the custom directory after successful installation

[root@dbpilot ~] rpm -qa |egrep "vim-enhanced|mlocate"
vim-enhanced-7.4.160-1.el7.x86_64
mlocate-0.26-6.el7.x86_64

[root@dbpilot ~] cd /oracle/cache/x86_64/7Server/OEL73_x64_NETWORK_REPO/packages/
[root@dbpilot ~] ls
mlocate-0.26-6.el7.x86_64.rpm  vim-enhanced-7.4.160-1.el7.x86_64.rpm

Here OEL73_x64_NETWORK_REPO is my repository name

[root@dbpilot ~] cat /etc/yum.repos.d/local.repo
[OEL73_x64_NETWORK_REPO]
name="Oracle Linux 7.3.0.0.0 for x86 64 bit : V834394-01.iso V834395-01.iso V834396-01.iso"
baseurl=http://dbpilot.net/oel/7.3/Packages/
enabled=1
gpgcheck=0

 
REFERENCES

How to change the location of yum cache from the default /var/cache/yum?

 
 

Version  : 17:16 05.02.2018
Platform : Oracle Linux Server 7.3