zoukankan      html  css  js  c++  java
  • 制作离线yum源

    一、下载软件离线包方式

    1、 “yum deplist”查找 rpm 包的依赖列表

    # yum deplist ansible
    
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    软件包:ansible.noarch 2.9.13-1.el7
       依赖:/usr/bin/env
       provider: coreutils.x86_64 8.22-24.el7
       依赖:/usr/bin/python2
       provider: python.x86_64 2.7.5-88.el7
       依赖:PyYAML
       provider: PyYAML.x86_64 3.10-11.el7
    ...
    

    2、repotrack方式下载全量依赖包

    # 安装yum-utils
    $ yum -y install yum-utils
    
    # 下载 ansible 全量依赖包
    $ repotrack ansible
    

    3、yumdownloader和downloadonly 插件

    两者仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载。

    # 安装yum-utils
    $ yum -y install yum-utils
    
    # 下载 ansible 依赖包
    $ yumdownloader --resolve --destdir=/tmp ansible
    

    参数说明:

    • –destdir:指定 rpm 包下载目录(不指定时,默认为当前目录)
    • –resolve:下载依赖的 rpm 包。
    # 安装插件
    $ yum -y install yum-download
    
    # 下载 ansible 依赖包
    $ yum -y install ansible --downloadonly --downloaddir=/tmp
    

    4、离线安装rpm包

    $ rpm -Uvh --force --nodeps *.rpm
    

    二、同步yum离线源方式

    1、用到 createrepo工具

    https://www.cnblogs.com/asheng2016/p/local-yum.html

    https://www.cnblogs.com/asheng2016/p/local-yum-http.html

    2、直接同步源到本地

    如:同步阿里云到本地

    删除/etc/yum.repos.d下所有源文件

    安装yum-utils

    yum install yum-utils -y
    安装这两个工具主要使用 createrepo 和reposync 这两个命令

    下载源repo到本地

    wget  -O /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    

    查看yum源仓库标识

    # yum repolist
    已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 源标识 源名称 状态 base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,591 extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 196 updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 657 repolist: 10,444

    根据源标识同步源到本地目录

    # reposync -r base -p /var/www/html/     #这里同步base目录到本地
    # du -sh (base源)
    9.0G  

    3、将  /var/www/html/base下的 rpm 包 创建为本地的 YUM 仓库,目的是为生成repodata目录并自动创建索引信息

    # createrepo -pdo /var/www/html/base/ /var/www/html/base/   #第一个目录是repodata存放目录,第二个目录是需要生成索引信息yum源仓库目录
    Spawning worker 0 with 3357 pkgs
    Spawning worker 1 with 3357 pkgs
    Spawning worker 2 with 3356 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    

    4、为保证本地yum源能和阿里云镜像源同步,可以通过脚本定时任务实现:

    vim /root/yum-update.sh
    #!/bin/bash
    
    datetime=`date +"%Y-%m-%d"`
    exec > /var/log/epel.log  #同步日志输出
    reposync -d -r epel -p /var/www/html/    #同步镜像源
    if [ $? -eq 0 ];then
        createrepo --update  /var/www/html/epel   #每次添加新的rpm时,必须更新epel索引信息
        echo "SUCESS: $datetime epel update successful"else
        echo "ERROR: $datetime epel update failed"fi
    #定时任务:每周六凌晨三点同步yum源
    crontab -e
    0 3 * * 6 /bin/bash /root/yum-update.sh
    

    三、挂载一个iso文件

    1 挂载ISO文件到/mnt/cdrom下:mount -o  loop /home/CentOS-7-x86_64-DVD-1708.iso   /mnt/cdrom
    2 创建repo文件
    [root@localhost /]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mkdir bak
    
    [root@localhost yum.repos.d]# mv *.repo /etc/yum.repos.d/bak
    [base]
    name=CentOS
    baseurl=file:///mnt/cdrom
    enabled=1
    gpgcheck=0
    gpgkey=file:///mnt/cdrom/rpm-gpg/RPM-GPG-KEY-CentOS-7
    yum clean all
    

    参考:

    https://www.2cto.com/net/201512/455901.html
    
    https://www.cnblogs.com/chengd/articles/6912938.html
    
  • 相关阅读:
    SqlServer与Access之间的数据互导
    [转]半角<=>全角互转函数[JS版 VBS版]
    [文摘20070914]一个成功的博客必须知道的80个博客工具
    在javascript中获得由Ajax返回DataTable的列数和列名
    [转]获取xml节点值和属性值(兼容ie和firefox)
    [文摘20070920]网络战
    游标简单使用
    sql函数 得到 由 年月日时分秒+三位内的随机数 组成的随机数
    [转]ASP.NET 2.0 AJAX中Webservice调用方法示例 (包含参数类型为DataTable的WS方法)
    向页面中添加音乐或flash
  • 原文地址:https://www.cnblogs.com/zjz20/p/13826740.html
Copyright © 2011-2022 走看看