离线安装rpm包并解决依赖(升级vsftpd为例)

【离线安装rpm包并解决依赖(升级vsftpd为例)】背景
下载安装yum插件下载软件包及依赖
将指定目录下的rpm包及其依赖拷贝到离线的服务器安装
背景 实际开发中,我们的linux服务器是处理离线状态的,并不能访问互联网。如果此时要在linux上安装或者升级软件,就只能通过rpm包的安装方式。rpm包安装有一个缺陷,就是不能处理安装包的依赖问题,这也是为什么在联网状态大家都用yum的方式来安装软件了,因为yum可以自动解决依赖包问题。
解决思路:有人说就直接用rpm包来安装,缺少哪个依赖包就去下载依赖包。这样原则上说是可以的,安装简单软件就可以采用这种方法。不过通常我们安装的rpm软件包依赖比较多,不能手动去下载依赖包的,而且很多依赖包找不到。所以此时应该采用yum命令来下载软件包,同时将其依赖一起下载下来。yum命令有这种功能,只下载安装包和依赖,但是不安装。采用这种方式就需要有一台能联网linux,从能联网的linux上下载安装包及其依赖,然后拷贝到离线的服务器上,这样就可以轻松完成安装了
下载安装yum插件下载软件包及依赖 安装yumdownload

yum install yum-utils -y

列出能联网系统的所有可安装的vsftpd软件
yum list | grep vsftpd

下载软件包vsftpd.x86_64及依赖到指定目录/root/package/httpd
yumdownloader vsftpd.x86_64--resolve --destdir=/root/package/httpd

将指定目录下的rpm包及其依赖拷贝到离线的服务器安装 将rpm安装包集中放在一个文件夹下,rpm可能一个或者多个,不要一个个去安装rpm,使用同时安装的命令,此时系统就会正确的安装软件包
rpm -ivh --replacefiles *.rpm

站在巨人的肩膀上可以看得更远

    推荐阅读