zoukankan      html  css  js  c++  java
  • 保存 yum 下载的软件包并制作成本地 yum 源

    保存 yum 下载的软件包并制作成本地 yum 源

    实验对象

    • CentOS 7
    • yum 安装 nginx (nginx必须使用第三源才能安装;redhat8版本的则不需要,官网源自带nginx软件包)

    一、配置第三方源

    1. 使用centos7自带的官方源查看是否有nginx安装包
    [root@localhost ~]# ls /etc/yum.repos.d/
    CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
    [root@localhost ~]# yum list nginx
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * extras: mirrors.ustc.edu.cn
     * updates: mirrors.ustc.edu.cn
    Error: No matching Packages to list         #没有这个包
    
    1. 移除本地仓库
    [root@localhost ~]# mv /etc/yum.repos.d/* /mnt/
    [root@localhost ~]# ls /etc/yum.repos.d/
    [root@localhost ~]#
    
    1. 配置第三方源
    [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    [root@localhost ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
    [root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    [root@localhost ~]# ls /etc/yum.repos.d/
    CentOS-Base.repo  epel.repo
    [root@localhost ~]# yum clean all
    [root@localhost ~]# yum makecache
    

    二、安装 nginx

    1. 查看是否有 nginx 安装包
    [root@localhost ~]# yum list nginx
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Available Packages
    nginx.x86_64                                                                               1:1.16.1-3.el7                                                                               epel
    
    1. 开启 yum 缓存
    [root@localhost ~]# vim /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=1        #修改为1     1表示开启缓存,执行 yum 安装会把软件包下载到本地,路径在 /var/cache/yum目录下。
    debuglevel=2
    logfile=/var/log/yum.log
    ......
      保存退出
    
    1. 查找以 rpm 结尾的安装包,有就清除缓存,确保等会安装 nginx 完成后只有 nginx 以及相关的依赖包
    [root@localhost ~]# find /var/cache/yum -name *.rpm
    [root@localhost ~]#
    
    1. 安装 nginx
    [root@localhost ~]# yum install -y nginx
    

    三、制作本地 yum 源

    1. 安装完成后,查找以rpm结尾的软件包
    [root@localhost ~]# find /var/cache/yum -name *.rpm
    /var/cache/yum/x86_64/7/base/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
    /var/cache/yum/x86_64/7/base/packages/dejavu-fonts-common-2.33-6.el7.noarch.rpm
    /var/cache/yum/x86_64/7/base/packages/dejavu-sans-fonts-2.33-6.el7.noarch.rpm
    /var/cache/yum/x86_64/7/base/packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/base/packages/fontpackages-filesystem-1.44-8.el7.noarch.rpm
    /var/cache/yum/x86_64/7/base/packages/gperftools-libs-2.6.1-1.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/base/packages/libXau-1.0.8-2.1.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/base/packages/libXpm-3.5.12-1.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/base/packages/libjpeg-turbo-1.2.90-8.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/base/packages/libpng-1.5.13-8.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/base/packages/libxcb-1.13-1.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/updates/packages/freetype-2.8-14.el7_9.1.x86_64.rpm
    /var/cache/yum/x86_64/7/updates/packages/gd-2.0.35-27.el7_9.x86_64.rpm
    /var/cache/yum/x86_64/7/updates/packages/libX11-1.6.7-3.el7_9.x86_64.rpm
    /var/cache/yum/x86_64/7/updates/packages/libX11-common-1.6.7-3.el7_9.noarch.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-1.16.1-3.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-all-modules-1.16.1-3.el7.noarch.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-filesystem-1.16.1-3.el7.noarch.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-mod-http-image-filter-1.16.1-3.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-mod-http-perl-1.16.1-3.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-mod-http-xslt-filter-1.16.1-3.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-mod-mail-1.16.1-3.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/epel/packages/nginx-mod-stream-1.16.1-3.el7.x86_64.rpm
    /var/cache/yum/x86_64/7/epel/packages/openssl11-libs-1.1.1g-2.el7.x86_64.rpm
    
    • 以上这些包就是刚刚安装 nginx 以及相关的依赖包
    1. 将这些包复制到其他的空文件夹中
    [root@localhost ~]# mkdir /opt/nginx
    [root@localhost ~]# find /var/cache/yum -name *.rpm -exec cp -a {} /opt/nginx ;
    [root@localhost ~]# ls /opt/nginx/
    centos-indexhtml-7-9.el7.centos.noarch.rpm     gd-2.0.35-27.el7_9.x86_64.rpm           libXau-1.0.8-2.1.el7.x86_64.rpm            nginx-mod-http-image-filter-1.16.1-3.el7.x86_64.rpm
    dejavu-fonts-common-2.33-6.el7.noarch.rpm      gperftools-libs-2.6.1-1.el7.x86_64.rpm  libxcb-1.13-1.el7.x86_64.rpm               nginx-mod-http-perl-1.16.1-3.el7.x86_64.rpm
    dejavu-sans-fonts-2.33-6.el7.noarch.rpm        libjpeg-turbo-1.2.90-8.el7.x86_64.rpm   libXpm-3.5.12-1.el7.x86_64.rpm             nginx-mod-http-xslt-filter-1.16.1-3.el7.x86_64.rpm
    fontconfig-2.13.0-4.3.el7.x86_64.rpm           libpng-1.5.13-8.el7.x86_64.rpm          nginx-1.16.1-3.el7.x86_64.rpm              nginx-mod-mail-1.16.1-3.el7.x86_64.rpm
    fontpackages-filesystem-1.44-8.el7.noarch.rpm  libX11-1.6.7-3.el7_9.x86_64.rpm         nginx-all-modules-1.16.1-3.el7.noarch.rpm  nginx-mod-stream-1.16.1-3.el7.x86_64.rpm
    freetype-2.8-14.el7_9.1.x86_64.rpm             libX11-common-1.6.7-3.el7_9.noarch.rpm  nginx-filesystem-1.16.1-3.el7.noarch.rpm   openssl11-libs-1.1.1g-2.el7.x86_64.rpm
    
    1. 使用 createrepo 命令制作本地yum源
    [root@localhost ~]# yum install -y createrepo
    [root@localhost ~]# cd /opt/nginx/
    [root@localhost nginx]# createrepo ./
    Spawning worker 0 with 12 pkgs
    Spawning worker 1 with 12 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    
    1. 打包
    [root@localhost ~]# tar -zcf nginx.tar.gz /opt/nginx
    [root@localhost ~]# ls
    anaconda-ks.cfg  nginx.tar.gz
    
    1. 将刚刚打包好的下载到本地,过程略

    四、配置本地 nginx 源

    1. 测试是有 nignx 软件包
    [root@localhost ~]# yum list nginx
    Loaded plugins: fastestmirror
    Error: No matching Packages to list
    
    1. 上传刚刚压缩的 nginx 压缩包,然后解压
    [root@localhost ~]# ls
    anaconda-ks.cfg  nginx.tar.gz
    [root@localhost ~]# tar -zxf nginx.tar.gz -C /opt/
    [root@localhost ~]# ls /opt/
    nginx
    
    1. 创建 yum 仓库
    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# vim nginx.repo
    [nginx]
    name=nginx repo
    baseurl=file:///opt/nginx
    gpgcheck=0
    enabled=1
     保存退出
    
    1. 安装 nginx
    [root@localhost ~]# yum list nginx
    Loaded plugins: fastestmirror
    nginx                                                                                                                                                                | 2.9 kB  00:00:00     
    nginx/primary_db                                                                                                                                                     |  19 kB  00:00:00     
    Determining fastest mirrors
    Available Packages
    nginx.x86_64                                                                              1:1.16.1-3.el7                                                                               nginx
    
    [root@localhost ~]# yum install -y nginx
    [root@localhost ~]# rpm -qa nginx
    nginx-1.16.1-3.el7.x86_64
    
    • 安装成功
  • 相关阅读:
    NavigationBar隐藏
    (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
    Makefile 中:= ?= += =的差别 和条件运行
    C# 使用WinRar命令压缩和解压缩
    C# 字段、属性、成员变量
    js中推断对象详细类型
    Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式
    JavaScript类数组对象参考
    Codeforces Round 190 div.2 322C 321A Ciel and Robot
    Android Application plugin
  • 原文地址:https://www.cnblogs.com/itwangqiang/p/14334612.html
Copyright © 2011-2022 走看看