zoukankan      html  css  js  c++  java
  • 离线安装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 ./
    
  • 相关阅读:
    个人冲刺二(2)
    个人冲刺二(1)
    三个和尚观后感
    每日总结
    个人冲刺(10)
    个人冲刺(9)
    个人冲刺(8)
    个人冲刺(7)
    个人冲刺(6)
    下次视频面试前把电脑摄像头擦干净吧
  • 原文地址:https://www.cnblogs.com/xiaojiluben/p/15250723.html
Copyright © 2011-2022 走看看