之前写过挂载CentOS镜像以及使用本地源的方式,在内网机器上安装软件包的方法,这次介绍一个更加快速的方法,适用于只需要安装一些特定的软件包,今后都不太会安装新软件包的情况。一般生产服务器都这样的吧。
几个前提:
- 需要一台可以访问公网的机器,和最终安装软件的内网机器版本一致。
- 在可访问公网的机器上安装yum-utils
- 用于下载rpm包的机器最好是纯净的系统,避免依赖包下载不到
主要使用的是yumdownloaer这个命令。
例如你需要安装vim,可以通过下面的命令将vim以及其依赖包全部下载到当前目录。
yumdownloader vim --resolve
也可以指定下载的目录。
yumdownloader vim --resolve --destdir=/home/vim
之后将所有的文件拷贝到目标机器上,使用下面的命令安装。
rpm -Uvh /home/vim/*.rpm
之前说的前提中,最后一点需要注意,如果用于下载的机器上已经安装了vim,你会发现只会下载vim一个包,并没有相关依赖包,原因在于--resolve
这个参数在解决依赖的时候,根据本机的环境来解析的,由于已经安装了vim,所以存在需要安装的依赖包。这将导致目标机器安装的时候会提示缺少一些依赖。