离线安装yum rpm工具

yum会自动下载系统所需要的依赖包rpm进行安装,但需要联网,当需要离线安装时,可使用下述方法:

  1. 在一台联网机器上利用yum工具下载rpm包
# 安装yum包下载工具
yum install yum-utils -y

# 例如我需要安装httpd的安装包
yumdownloader httpd  --resolve --destdir=/home/httpd
  1. 复制/home/httpd内所有文件到离线服务器目录下,使用以下指令进行安装
rpm -ivh --replacefiles *.rpm

问题

  • 联网服务器可能有已经安装的依赖,但离线服务器没有这个依赖,但yumdownloader只会下载联网服务器上没有的依赖
    解决:

1. 指定一个空目录作为根目录,这样yum下载的时候就不会有任何基础依赖,会下载所有依赖。

但这种办法似乎首先需要给这个installroot设置baserepo,没有深究

sudo yum install   --installroot=</path/to/tmp_dir>   --downloadonly --downloaddir <rpm_dir> <package>

2. 使用docker启动一个新centos容器,在容器里下载rpm包,再从容器中将包复制出来。这种办法下载的环境相对干净,所以下载到的基础依赖包只缺失了centos基础的一些依赖,可以满足大部分情况了

# 启动容器并进入
docker run --rm --name centos -it centos:7 bash

## 以下为容器内操作
yum install yum-utils -y
mkdir -p /home/httpd
yumdownloader httpd  --resolve --destdir=/home/httpd

然后新开一个命令窗口,不要关闭之前的窗口

# 将容器内下载得到的rpm包复制出来
docker cp centos:/home/httpd ./

离线安装yum rpm工具

上一篇:vue 中的h函数


下一篇:将暂存区中的变动撤回到工作区