通过yum命令只下载rpm包不安装
经常遇到服务器没有网络的情况下部署环境,或者创建自己的 yum 仓库等。每次都是在网上搜搜搜,都是五花八门,自己整理了下自己用到的以下三种方式,这里没有太多废话,只是如何安装并示例经常用到的方式,如果还需要更多参数 ,可以通过 --help 查看手册:
方法一:yumdownloader
如果只想通过 yum 下载软件的软件包,但是不需要进行安装的话,可以使用 yumdownloader 命令; yumdownloader 命令在软件包 yum-utils 里面。
# yum install yum-utils -y
常用参数说明:
--destdir 指定下载的软件包存放路径
--resolve 解决依赖关系并下载所需的包
示例:
# yumdownloader --destdir=/tmp --resolve httpd
方法二:yum --downloadonly
yum命令的参数有很多,其中就有只是下载而不需要安装的命令,并且也会自动解决依赖;通常和 --downloaddir 参数一起使用。
示例:
# yum install --downloadonly --downloaddir=/tmp/ vsftpd # yum reinstall --downloadonly --downloaddir=/tmp/ vsftpd
说明:如果该服务器已经安装了需要下载的软件包,那么使用 install下载就不行,可以使用reinstall下载。 放心(不会真的安装和重新安装,因为后面加了 --downloadonly,表明只是下载。
如果提示没有--downloadonly选项则需要安装yum-plugin-downloadonly软件包;
# yum install yum-plugin-downloadonly
方法三:reposync
该命令更加强大,可以将远端yum仓库里面的包全部下载到本地。这样构建自己的yum仓库,就不会遇到网络经常更新包而头痛的事情了。 该命令也是来自与 yum-utils 里面。
# yum install yum-utils -y
常用参数说明:
-r 指定已经本地已经配置的 yum 仓库的 repo源的名称。 -p 指定下载的路径
示例:
# reposync -r epel -p /opt/local_epel