将centos中yum安装的包保存到本地
[TOC]
下载并安装rpm包
- 修改yum配置文件,启用cache缓存,建议先清理一下本地缓存
sed -i "s/#keepcache/keepcache/" /etc/yum.conf
sed -i 's/^keepcache.*/keepcache=1/g' /etc/yum.conf
cat /etc/yum.conf | grep "^keepcache" > /dev/null || echo "keepcache=1" >> /etc/yum.conf
cat /etc/yum.conf | grep keepcache
yum clean all
- 测试yum一下安装httpd,并查看rmp包是否已下载
yum -y install httpd
ll /var/cache/yum/x86_64/7/base/packages
只下载不安装rpm包
下面提供3种方式,只下载不安装rpm包。
yum --downloadonly
- yum命令的参数有很多,其中就有只下载而不安装的命令,并且也会自动解决依赖。比如安装httpd可参考如下
mkdir -p /opt/yumcache
yum install --downloadonly --downloaddir=/opt/yumcache/ httpd
- 如果该服务器已经安装了需要下载的软件包,那么使用
install
下载就不行,可以用reinstall
下载。注:不会真的安装或重新安装,因为后面加了–downloadonly
,表明只是下载。
mkdir -p /opt/yumcache
yum reinstall --downloadonly --downloaddir=/opt/yumcache/ httpd
- 如果提示没有
–downloadonly
选项则需要安装yum-plugin-downloadonly
软件包
yum install -y yum-plugin-downloadonly
yumdownloader
- 如果只想通过yum下载软件的软件包,但是不需要进行安装的话,可以使用
yumdownloader
命令。 - 参数
--destdir
指定下载的软件包存放路径,参数--resolve
解决依赖关系并下载所需的包
mkdir -p /opt/yumcache
yumdownloader --destdir=/opt/yumcache --resolve httpd
- 注意,
yumdownloader
命令在软件包yum-utils
里面
yum install -y yum-utils
reposync
- 该命令更为强大,可以将远端yum仓库里面的包全部下载到本地。这样构建自己的yum仓库,就不会遇到没有网络导致更新包无法下载的问题。
- 参数 -r 指定已经本地配置的yum仓库的repo源的名称,参数 -p 指定下载的路径
reposync -r epel -p /opt/local_epel
- 注意,
yumdownloader
命令在软件包yum-utils
里面yum install -y yum-utils