默认情况下,当前版本的 yum 在成功下载和安装软件包后,会把下载的文件删掉。这样可以减少 yum 占用的磁盘空间。你可以打开缓存,这样 yum 将在缓存目录保留下载到的文件。
yum 的性能可以提高
你可以离线运行 yum 操作,只使用缓存
你可以复制缓存中的软件包以备用
默认情况下,yum 在 /var/cache/yum/ 目录保存临时文件,每个仓库都有自己的子目录。仓库目录中 packages/ 子目录包含了缓存的软件包。例如,目录/var/cache/yum/development/packages/ 包含从 development 仓库下载的软件包。
要配置 yum 保留已下载的文件而不是删除,设置 /etc/yum.conf 中的
keepcache 选项为 1:
keepcache=1
打开缓存后,每个 yum 操作都可能从仓库下载软件包数据。要保证缓存包含了软件包数据,在启用缓存后运行一个操作,例如 list 或 search 来下载软件包数据而不影响系统。
要在没有网络的情况下执行 yum,只要启用了缓存,就可以用 -C 选项。这样 yum 就不会检查网络上的仓库,只使用缓存。在这个模式中,yum 只能安装已下载并缓存的软件包。
要在没有网络连接的时候搜索软件包 tsclient,输入命令:
su -c 'yum -C list tsclient'
如果你有多台机子 只须要一台机子从网上下载 软件包跟软件更新包 , 还有如果你想重装系统不想再下载的几个G的更新跟软件(前提缓存了你系统所有安装的软件的更新包).
在开启 缓存的状态下因为 yum 下载的软件包不会被删除,所以可以多次利用.(就是占硬盘空间而以, 呵呵几个G我不放在眼里,我硬盘有 1.2TB)
很简单的方法,把这台机子的 /var/cache/yum/ 目录下的所有文件包过目录. 复制到另一台机子下的相同目录. 执行.
# yum -C update # yum -C install <软件包名>
# yum clean headers
要删除缓存中所有软件包,使用命令:
#yum clean package [root@Monitor ~]# rpm -ql yum /var/cache/yum [root@Monitor ~]# cat /etc/yum.conf |grep cachedir cachedir=/var/cache/yum/$basearch/$releasever [root@Monitor ~]# cat /etc/yum.conf |grep keep keepcache=0 # Fedora which don't keep old packages around. If you don't like this checking [root@Monitor ~]#